Choose the Best MCU Architecture for IoT Development
What are Microcontrollers (MCUs), and How are They Used in IoT Devices?
Have you ever marveled at how a fitness tracker records each step you take, or how a washing machine senses water levels? Meet microcontrollers, commonly known as MCUs, compact computers revolutionizing everyday devices. An MCU is a small computer on a single integrated circuit containing one or more CPUs (processor cores), memory, and programmable input/output peripherals. These tiny chips are an affordable and popular means of data collection, sensing, and controlling the physical world.
MCUs find applications in a diverse range of systems, from automobile engine controls and implantable medical devices to remote controls, office machines, appliances, power tools, toys, and other embedded systems. They serve as a bridge, enabling communication protocols and hardware abstraction layers to interact and run the chosen RTOS/OS that operates the device.
Common Features of Microcontrollers
Packed with power in a tiny package, microcontrollers are the go-to brains for embedded devices. No matter the architecture, all MCUs have certain things in common:
- MCU core architecture based on number of bits: The number of bits (8, 16, 32) used by an MCU (sometimes called bit depth or data width) tells you the size of the registers (8 bits per register), the number of memory addresses (28=256 addresses), 32-bBit can theoretically address up to 536 MB of data, technically making it more data efficient.
- Memory: MCUs have two types of memory. The program memory (flash memory) stores the code that runs on the MCU, while the data memory (RAM) stores the data used by the code.
- Peripherals and communication interfaces: These built-in tools let the microcontroller interact with the outside world, like sensing temperature or controlling motors. Security: MCU security is of utmost importance to protect the firmware intellectual property, protection of private data in the device, and guarantee of service execution.
What are 8-bit MCUs and Some Examples of Popular 8-bit MCU Architectures
8-bit MCUs have been at the heart of embedded development since the 1980s and continue to play a major role in IoT development even as 32-bit architectures have become more prevalent. The simplicity and cost-effective nature of modern 8-bit MCUs ensure they will remain a key tool in an engineer's toolbox for many years.
Here are some examples of popular 8-bit MCU architectures:
- PIC: Developed in 1975 by General Instruments, now the purview of Microchip Technology, PIC chips power countless toys, remote controls, and budget-friendly gadgets.
- AVR:Developed by Atmel and beloved by hobbyists and professionals alike, AVR chips are the heart of Arduino boards, making electronics accessible to everyone. They are the catalyst for innovation and are widely used in embedded systems.
- 8051: Developed by Intel in 1980, a true veteran, the 8051 thrives in industrial applications and medical devices underscoring the enduring appeal of simplicity and reliability
Silicon Labs has used the CIP-8051 core as the basis for the entire C8051 and EFM 8-bit portfolios. This pipelined architecture allows us to improve efficiency with over 80% of instructions executing in a single clock cycle giving it an advantage over other 8-bit MCUs. The latest addition to the Silicon Labs 8-bit offering is the BB5 8-bit microcontroller family which consists of 3 variants:
- BB52: A more general purpose MCU with larger memory offerings and up to 29 GPIOs
- BB51: A mid-range MCU with that is a great compromise for functionality and cost
- BB50: A small form factor, cost effective platform for even the simplest applications
Advantages of 8-bit MCUs
8-bit microcontrollers have several advantages over 32-bit microcontrollers. Here are some of the most significant advantages:
- Cost: 8-bit MCUs are champions of affordability, making them perfect for budget-conscious projects and hobbyist experiments.
- Power consumption: 8-bit MCUs are much less complex than their 32-bit cousins, making them ideal for simple applications where power consumption is critical.
- Code size: 8-bit MCUs keep their code footprint small, which can be advantageous for applications with limited memory.
- Ease of use: 8-bit MCUs are easy to learn and use. With readily available development tools and online communities, users can start coding in no time.
- Availability: 8-bit MCUs are readily available, with tons of options to choose from. Whether you are building a simple robot or a smart home sensor, 8-bit MCUs bring ideas to life.
Disadvantages of 8-bit MCUs
Despite their popularity for affordability and compact size, 8-bit microcontrollers do have some limitations when compared to their higher-bit counterparts.
- Limited memory space: One of the main disadvantages is that 8-bit microcontrollers is the limited memory space, which can pose challenges for executing complex tasks or handling large volumes of data.
- Processing Speed: Due to their limited instruction set, 8-bit MCUs can be limited in their ability to perform complex tasks or handle large amounts of data. This can be a significant disadvantage in applications that require real-time processing or high-speed data transfer.
What are 32-bit MCUs and Popular 32-bit MCU Architectures?
Ever wondered how your drone captures breathtaking aerial footage or your smart speaker plays your favorite music flawlessly? These seemingly magical feats are achieved via 32-bit microcontrollers! Think of them as the robust engines of the tech world adept at handling complex tasks, processing vast amounts of data, and supporting high-end algebraic operations and floating-point mathematics. Here are some examples of popular 32-bit MCU architectures:
- ARM Cortex-M:The ARM Cortex-M series is a family of 32-bit microcontrollers designed for embedded systems. is the powerhouse behind smartphones, drones, and wearables.
- PIC32: The PIC32 microcontroller is a family of 32-bit microcontrollers developed by Microchip Technology. From industrial automation to robotics, PIC32s tackle demanding tasks with efficiency.
- AVR32: AVR32 is a 32-bit microcontroller architecture developed by Atmel brings the user-friendly AVR world to the 32-bit domain, making it perfect for both hobbyists and professionals.
- RISC-V: The RISC-V is open-source architecture (ISA) and is the latest development in the RISC architecture family, which is designed to be simple, modular, and extensible. The RISC-V architecture is gaining popularity due to its open-source nature, which allows for greater flexibility and customization. RISC-V MCUs are being used in a variety of applications, including embedded systems, IoT devices, and high-performance computing.
All EFM32 and EFR32 Series 2 Wireless SoCs and MCUs use a multi-core Cortex-M platform. Most of our Cortex-M33 running up to 76.4 MHz serves as the main application core for both wireless and application development while 2 captive M0+ cores operate the radio and security sub-systems to give developers a consistent platform across the entire portfolio. This architecture allows for the sub-systems to operate independently from the application core and helps provide underlying flexibility regardless of shortening development time and allowing for more design reuse between product families. The addition of AI/ML hardware acceleration to both wireless and standalone MCUs decreases time and power consumption needed for the added intelligence needed at the edge.
Advantages of 32-bit MCUs
32-bit microcontrollers have several advantages over 8-bit microcontrollers. Here are some of the most significant advantages:
- Processing power: 32-bit MCUs are designed to provide high performance and power efficiency. They are faster and more powerful than their 8-bit and 16-bit counterparts, yet still energy efficient. The 32-bit MCU can handle more RAM and flash memory, along with higher clock speeds. This makes them ideal for applications that require high-performance computing, such as FFT calculations, high-quality audio or video, high-resolution image processing, and various edge computing applications.
- Memory: A 32-bit memory bus provides a wider data path than an 8-bit memory bus, allowing it to transfer more data in a single clock cycle. This results in faster data transfer rates and improves overall system performance thus enabling us to hold high-resolution images, complex algorithms, or even entire operating systems.
- Peripheral support: 32-bit MCUs have several advantages in terms of peripherals. They offer more advanced communication interfaces, such as EUSART, USB, Ethernet, and CAN, SDMMC, integrated LCD controllers etc. These peripherals are essential for many modern applications, such as IoT devices, automotive systems, and industrial automation. 32-bit MCUs also offer more advanced analog-to-digital converters (20-bit ADCs), which are essential for many applications that require high-precision measurements, 12-bit DACs, advanced timers, Programmable counters, and precise integrated timing components like, high accuracy internal RC oscillators, which are essential for many applications that require precise timing and counting.
- Coding efficiency: 32-bit MCUs can pack more instructions into each cycle, resulting in faster execution and lower power consumption. This is because they can process more data bits per clock cycle, which means they can do more with less. In addition, 32-bit MCUs can achieve superior code efficiency, which translates to smaller programs for complex operations.
- Availability of Libraries & Drivers: Having ready access to a diverse range of libraries and well-maintained drivers is critical for efficient software development and seamless hardware integration. When developers can leverage existing libraries and drivers, it significantly enhances productivity and contributes to creating robust applications that provide better user experiences.
Disadvantages of 32-bit MCUs
While 32-bit microcontrollers reign supreme in power and versatility, they are not a one-size-fits-all solution. Consider these trade-offs before powering your project:
- Power consumption: The added complexity of 32-bit architectures makes achieving optimal low power operation much more complex than simple 8-bit MCUs. Developers may need to manage much more complex energy states and make peripheral tradeoffs to reach similar power consumption metrics.
- Complexity:32-bit MCUs are more complex than 8-bit MCUs, which can make them more difficult to program and debug.
- Code Size: 32-bit MCUs could have larger code size than 8-bit MCUs for less complex operations, which can be a disadvantage for applications with limited Memory. However, code size largely depends on the code optimization tools used for product development.
Conclusion: Choose Your Microcontroller Architecture and Platform Wisely
In the realm of IoT development, the selection of the right processor platform is crucial! Both 8-bit and 32-bit MCUs address distinct challenges and have a place in modern IoT development
When it comes to being economical and efficient, 8-bit MCUs are the champions! They are cost-effective and compact, making them ideal for simple tasks such as wireless IoT sensors. Their superior power efficiency over 32-bit MCUs also makes them a preferred choice for battery-operated devices.
On the other hand, 32-bit MCUs offer greater processing power and memory than their 8-bit counterparts. This makes them more suitable for applications demanding higher performance and more memory. However, that comes with the tradeoff of added complexity.
So, who emerges victorious in the IoT arena? For basic tasks and budget constraints, 8-bit MCUs hold the fort. But when there is a need for a robust performer for intensive tasks, 32-bit MCUs wear the crown. Choose wisely, your connected world depends on it.
Wish to know learn more about MCUs? Refer the below articles or the TechTalk Series: