Featured image of post Common MCUs in Embedded Systems

Common MCUs in Embedded Systems

Introduction to common MCUs in embedded systems

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.