Common MCUs in Embedded Systems
Recently, while implementing an embedded system, I needed more powerful computing capabilities, so I decided to move away from the commonly used Atmega328p and look for other 32-bit MCU development platforms. Choosing a platform is a big decision, as each platform has different use cases and development environments. I’ll take this opportunity to analyze them.
ATMEL Series (e.g., ATMEGA328P)
- Atmega328p is an 8-bit AVR architecture MCU produced by ATMEL (USA), commonly found on Arduino UNO boards.
- Pros: Easy to get started, complete documentation, complete community support (excellent Arduino ecosystem), good power efficiency (haven’t tested this personally but heard it’s good).
- Cons: Limited processing power compared to other 32-bit MCUs, less internal memory and RAM, slightly expensive for its performance (around 35 NTD).
- Use Cases: Beginner projects (e.g., Arduino tutorials, simple embedded projects), low-power and low-cost home electronic devices.
ESP Series (e.g., ESP32-C3)
- ESP32-C3 is a product of Espressif Systems (China), based on 32-bit RISC-V or Xtensa architecture, with built-in WiFi and Bluetooth capabilities.
- Pros: Includes WiFi and Bluetooth without external modules, so high CP value (one chip 35-50 NTD), widely used with decent community support, versions with internal SPI flash are very convenient.
- Cons: Higher power consumption (although it has deep sleep capability), system stability is rumored to be less than ideal.
- Use Cases: IoT (Internet of Things) devices requiring WiFi or Bluetooth connection, smart home appliances, smart wearable devices, non-critical applications.
STM Series (e.g., STM32F103C8T6)
- STM32F103C8T6 is a 32-bit ARM Cortex-M3 microcontroller from STMicroelectronics (Switzerland).
- Pros: Strong computing power, multiple interfaces, low-power versions available, high cost-performance ratio (wide range from 20-60 NTD), complete development and debugging tools, commonly used in industrial products.
- Cons: Development environment is more complex, less RAM and Flash in some models.
- Use Cases: Complex embedded projects, applications requiring strong processing power, industrial automation, drones, high-end sensor systems.
STC Series (e.g., STC89C52)
- STC89C52 is an 8-bit 8051 microcontroller produced by STC Micro (China).
- Pros: 8051 architecture is very old, has extensive applications and massive data support, ultra-cheap (10-50 NTD), development environment is relatively simple.
- Cons: Very old architecture, limited processing power, less memory and RAM, can be seen as a weakened version of Atmel series, but because functions are simple, it’s commonly used in home appliances.
- Use Cases: Traditional embedded systems, such as home appliance control, educational purposes, learning 8051 microcontroller principles and programming, simple LED display, keyboard input, and other basic IO operations.
RASPBERRY Series (e.g., RP2040)
- RP2040 is a 32-bit ARM Cortex-M0+ microcontroller developed by the Raspberry Pi Foundation (UK).
- Pros: Efficient processing performance, relatively large RAM, open-source resources and community support, simple development environment (Micropython), high CP value (35 NTD).
- Cons: Newer product, may have hardware instability issues or bugs without solutions yet.
- Use Cases: Embedded projects requiring high-performance processing, audio/video computing, image processing, complex algorithm computing, big data processing, running TinyML models, etc.
