DEV Community

Cover image for An easy comparison between Arduino, STM32, Raspberry PI

An easy comparison between Arduino, STM32, Raspberry PI

Arduino

  • Purpose: Arduino boards are primarily used for simple and standalone projects, especially in the field of electronics and physical computing.
  • Microcontroller: Arduino boards are based on microcontrollers, typically from the Atmel AVR family. These microcontrollers have lower processing power and limited capabilities compared to full-fledged microprocessors.
  • Programming Language: Arduino boards are programmed using the Arduino IDE, which is based on the C/C++ programming language. It provides a simplified and beginner-friendly programming environment.
  • I/O Pins: Arduino boards have a limited number of digital and analog input/output pins (e.g., Arduino Uno has 14 digital pins and 6 analog pins) for connecting sensors, actuators, and other external devices.
  • Real-time Capabilities: Arduino boards have real-time capabilities and can be used for tasks that require precise timing or control, such as robotics or automation.
  • Power Consumption: Arduino boards are designed to be power-efficient, making them suitable for low-power and battery-powered applications.
Feature Arduino Uno Arduino Nano Arduino Mega Arduino Due
Microcontroller ATmega328P ATmega328P ATmega2560 AT91SAM3X8E
Operating Voltage 5V 5V 5V 3.3V
Digital I/O Pins 14 14 54 54
Analog Input Pins 6 8 16 12
Flash Memory 32KB 32KB 256KB 512KB
SRAM 2KB 2KB 8KB 96KB
Clock Speed 16MHz 16MHz 16MHz 84MHz
USB Interface Yes (Type-B) Yes (Mini USB) Yes (Type-B) Native USB
Size Standard Compact Large Large
Price Affordable Budget-friendly Higher-end Mid-range

STM32

  • Purpose: STM32 microcontrollers are commonly used in professional embedded systems and applications that require more processing power and advanced features.
  • Microcontroller: STM32 microcontrollers are based on the ARM Cortex-M family of microprocessors, offering higher performance and more advanced features compared to Arduino boards.
  • Programming Language: STM32 microcontrollers can be programmed using various development environments, including the STM32CubeIDE, Keil MDK, and PlatformIO. They support programming languages like C, C++, and assembly.
  • I/O Pins: STM32 microcontrollers offer a wide range of digital and analog input/output pins, providing more flexibility for connecting external devices and sensors.
  • Real-time Capabilities: STM32 microcontrollers often have built-in real-time operating systems (RTOS) support and advanced peripherals, making them suitable for real-time applications.
  • Power Consumption: Power consumption varies depending on the specific STM32 microcontroller, but they generally offer power-saving modes and features for efficient operation.
Feature STM32F103C8T6 STM32F407VGT6 STM32F429ZIT6 STM32F030F4P6 STM32F767ZIT6
Microcontroller ARM Cortex-M3 ARM Cortex-M4 ARM Cortex-M4 ARM Cortex-M0 ARM Cortex-M7
Operating Voltage 3.3V 3.3V 3.3V 3.3V 3.3V
Flash Memory 64KB 512KB 2MB 16KB 2MB
SRAM 20KB 192KB 256KB 4KB 512KB
Clock Speed 72MHz 168MHz 180MHz 48MHz 216MHz
Digital I/O Pins 37 82 168 16 144
Analog Input Pins 10 16 24 7 24
USB Interface No Yes (Full-Speed) Yes (High-Speed) Yes (Full-Speed) Yes (High-Speed)
Size Small Medium Medium/Large Small Large
Price Affordable Mid-range Higher-end Affordable Higher-end

Raspberry

  • Purpose: Raspberry Pi is a single-board computer designed for a wide range of applications, including desktop computing, IoT projects, media centers, and more.
  • Processor: Raspberry Pi boards are powered by ARM-based processors, offering higher processing power and capabilities compared to microcontrollers.
  • Operating System: Raspberry Pi boards run various operating systems, including Linux-based distributions like Raspbian (now called Raspberry Pi OS) and Ubuntu, as well as other specialized operating systems.
  • Programming Languages: Raspberry Pi supports a wide range of programming languages, including Python, C/C++, Java, and more. It provides a full-fledged computing environment.
  • I/O Pins: Raspberry Pi boards have general-purpose input/output (GPIO) pins, allowing you to interface with external devices and sensors. The number of GPIO pins varies depending on the specific Raspberry Pi model.
  • Connectivity: Raspberry Pi boards offer built-in Ethernet, USB ports, Wi-Fi, Bluetooth, and HDMI output, enabling easy connectivity with peripherals and other devices.
  • Power Consumption: Raspberry Pi boards require a stable power supply, and the power consumption varies depending on the specific model and the peripherals connected.
Model Raspberry Pi Zero W Raspberry Pi 3 Model B+ Raspberry Pi 4 Model B
Processor ARM11 Cortex-A53 Cortex-A72
CPU Speed 1 GHz 1.4 GHz 1.5 GHz
RAM 512MB 1GB 2GB, 4GB, 8GB
Wireless Wi-Fi, Bluetooth Wi-Fi, Bluetooth Wi-Fi, Bluetooth
Ethernet No Yes Yes
USB Ports 1 4 2
Video Output Mini HDMI HDMI 2x Micro HDMI
GPIO Pins 40 40 40
Storage microSD microSD microSD
Power Supply Micro USB Micro USB USB-C
Dimensions 65mm x 30mm 85mm x 56mm x 17mm 88mm x 58mm x 19.5mm
Price Affordable Mid-range Mid-range/Higher-end

Top comments (0)