If you are building an embedded system today, you are probably creating a connected one. The IoT has permeated nearly every industry. Connected devices open a value gate that allows companies to continuously deliver new features to their customers while observing issues and improving quality and customer experience.
Teams developing edge devices today are facing some significant hurdles. For example, customers aren’t just expecting connectivity anymore but want fast, intelligent, and secure devices. To meet these needs, teams have been forced to increase the complexity of their software to manage multitasking and maximize performance. Many teams have struggled to secure their product, minimize energy consumption, and leverage artificial intelligence and machine learning.
With the changing rate of technology, keeping up can be as challenging as delivering what the customer needs. However, there are some tricks that you can employ to help make sure that you and your team are up to the challenge. In this post, we will explore how you can accelerate development by leveraging and integrating hardware and software solutions that are energy efficient and support intelligent peripherals using NXP’s MCX Series Microcontrollers.
Start with selecting the right microcontroller
I can’t tell you how often I’ve seen teams select a microcontroller that didn’t fit their needs. It’s far more common than you may think and can cause all kinds of grief to businesses and their development teams. Getting the microcontroller selection right is critical to accelerating time to market. Have you tried to select a microcontroller recently? Go to Digikey.com and click on their microcontroller category. You’ll find that they offer over 81,622 different microcontrollers! Good luck if you want to whittle down that list on your own!
An alternative is exploring the latest and greatest microcontroller series from companies like NXP. For example, the NXP MCX Series Microcontrollers use the latest high-performance cores, the Arm® Cortex®-M33, to provide a range of microcontrollers that meet development needs ranging from low power (MCX L) and wireless (MCX W) through all-purpose and performance microcontrollers (MCX A) capable of running neural networks (MCX N). You can see the differences between the MCX Series MCUs in Figure 1 below:
Figure 1 – The NXP MCX Series microcontrollers provide a wide range of features for edge devices centered around anArm Cortex-M33 processor.
You can see that these cover a wide range of technology needs and efficiently replace a lot of legacy microcontrollers with the latest and greatest technology. For our discussion on accelerating development, we’ll focus today on the MCX N, the fully featured microcontroller.
A deeper dive into the NXP MCX N Series Microcontroller
As edge devices become more intelligent and customers demand more features, you need more processing power at the edge to handle the features. The MCX microcontrollers are multi-core processors using Arm Cortex-M33s that can run up to 150 MHz. While you might think this provides all the computing power you need, it doesn’t end there. Look at the following block diagram for the MCX N94x, which can be found in Figure 2.
Figure 2 – The block diagram for the MCX N94x is full of modern hardware features that can help ensure performance and low-power operation. (Image Source: NXP MCX N Series Fact Sheet)
You’ll find that the microcontroller also includes hardware accelerators for digital signal processing, neural processing, and direct memory access. As many teams look to leverage machine learning at the edge, the need to efficiently execute neural networks has never been greater.
The MCX N has an optional eIQ® Neutron NPU Accelerator that is its own dedicated controller core. The hardware accelerator provides features such as weight decoders, a data canvas, de-quantization scalers/shifters, and an activation engine. The result is a highly configurable system that can balance the need for intelligence and low-power execution at the edge.
There’s so much about these new MCX N parts that we can’t cover them all in a single blog. There are some super cool features, though, that we can highlight. For example, some features that I’ve found to be really interesting include:
I3C Support: Officially known as MIPI I3C, I3C is a bus interface developed by the MIPI (Mobile Industry Processor Interface) Alliance that improves upon the features of I2C (Inter-Integrated Circuit) while maintaining backward compatibility with it. It’s designed to be a single, high-speed, low-power bus that connects all components to the main processor, potentially reducing the number of physical pins and buses used within a device. It offers up to 12.5 Mbps in its basic mode, which is far faster than the high-speed I2C, which was 0.400 Mbps. It’s designed for low-power operation dynamic address assignment and supports multiple masters.
Intelligent Peripherals: An intelligent peripheral supports advanced features within microcontrollers that allow peripherals to handle complex tasks independently, reducing the load on the main CPU and improving efficiency. This means that these peripherals can manage certain operations without constant CPU intervention, which helps reduce power consumption and improve system performance. Some features that are supported include autonomous operation, direct memory access, cross-triggering, event linking, and other features associated with the security features.
Secure boot and life cycle management: The MCX series offers secure boot with an immutable root-of-trust, hardware-accelerated cryptography, and a built-in EdgeLock® Secure Enclave Core Profile. Teams looking to secure their devices will find everything they need to boot their system securely, perform firmware updates, and manage their devices throughout the product life cycle.
While the hardware provided by a microcontroller is critical to achieving a product goal, the software ecosystem is just as important. Let’s look at how the software associated with the MCX series can help developers accelerate their development cycle.
Accelerating development with NXPs Application Code Hub
There are two technologies that I’m excited about that will help you accelerate your time to market when developing embedded software. First, MCUXpresso for VS Code allows you to easily access the MCUXpresso SDKs, manage code, and debug. The ability to do this all from within a developer-centric environment is essential.
Second, the MCX Series Microcontrollers are supported in NXPs Application Code Hub. The Application Code Hub (ACH) repository enables engineers to quickly find microcontroller software examples, code snippets, application software packs, and demos developed by experts. The ACH provides the ability to search for specific application examples that can be imported into the development environment and leveraged to accelerate development.
For example, to date, the ACH currently supports application examples like:
- Heart rate (BPM) and SPO2 monitoring on the FRDM-MCXA153 board
- How to enable the windowed watchdog on low-power
- Multiple face detection on mcxn947
- How to implement USB audio 7.1 channel speaker on MCXN947
Figure 3 – The NXP Application Code Hub (ACH) allows developers to search for existing examples and tutorials that can be integrated into their projects.
To date, over 20 different example projects are designed to help developers get up and running with critical IoT features.
Embracing the NXP MCX Series Microcontrollers can be a game-changer for developers looking to push the boundaries of what’s possible with edge devices. The MCX series is a powerhouse capable of handling complex tasks such as machine learning, digital signal processing, and secure, efficient operation—all critical for today’s intelligent and connected devices.
With hardware capabilities like the eIQ Neutron NPU Accelerator and intelligent peripherals, the MCX Series is not just a step forward; it’s a leap toward the future of embedded systems. The secure boot features ensure that your devices are intelligent and secure from the ground up.
Moreover, the robust software ecosystem surrounding the MCX Series, including the Application Code Hub and the SDK, provides an invaluable toolkit for developers. This comprehensive support accelerates the development process, making it easier and faster to bring products to market without compromising on quality or performance.
As we continue to push the frontiers of technology, leveraging the right tools is essential. NXP’s MCX Series Microcontrollers offer a versatile and robust foundation for building the next generation of edge devices. By selecting the right microcontroller from the start and utilizing the extensive resources available, your team can focus on innovation and customer satisfaction, ensuring that the hardware will meet and exceed the demands of modern technology challenges.
Remember, the journey of a thousand miles begins with a single step—choosing the suitable microcontroller is that first step. With NXP’s MCX Series, you’re not just choosing a microcontroller; you’re choosing a partner in innovation for the connected world of tomorrow.