Comparing Processor Quy Final
Comparing Processor Quy Final
Comparing
Controller Boards
1. Arduino Uno
The STM32 family of 32-bit microcontrollers based on the Arm® Cortex®-M processor is designed to offer new
degrees of freedom to MCU users. It offers products combining very high performance, real-time capabilities,
digital signal processing, low-power / low-voltage operation, and connectivity, while maintaining full integration
and ease of development.
Control Unit From Atmega Family From ARM Family From Tensilica Family From ARM Family
Up to 160
16 MHz (Arduino Up to 1.5 GHz in
Clock Frequency MHz(ESP8266) or Up to 72 MHz
UNO) Raspberry Pi 4 B
240MHz(ESP32)
Requires less RAM Requires large RAM Up to 50KB (ESP8266) Requires less RAM
RAM
(2kB) (more than 1 GB) or 520KB (ESP32) (20kB)
Arduino’s logic level Raspberry Pi’s logic ESP’s logic level is STM’s logic level is
Logic level
is 5V. level is 3V. 3.3V. 3.3V.
Raspberry Pi supports
its own Linux-based
Arduino boards are ESP boards are STM32 boards are
operating system
Software programmable using programmable using programmable using
Raspberry Pi OS. You
C/C++ languages. C/C++ languages. C/C++ languages.
can also install the OS
you like.
5. Comparing between controller boards
Arduino does not STM32 does not
have internet ESP has a built-in have internet
Raspberry Pi has a
support. You need Ethernet port in ESP32 support. You need
Internet built-in Ethernet port
additional modules (not Esp8266). additional modules
and WiFi support.
or shields to connect ESP has a WiFi support. or shields to connect
it to the internet. it to the internet.
Arduino devices
begin executing code
when they are turned
on. Therefore, when Raspberry Pi requires
How they power is turned off, the same care as a
handle power abruptly, you won’t PC. You have to shut Same as Arduino Same as Arduino
drop end up with a corrupt the operating system
operating system or down properly.
errors. The code will
simply start again
when plugged in.
5. Comparing between controller boards
Esp32 can perform
Arduino is generally multiple tasks
Raspberry Pi can STM32 can perform
used to perform simultaneously.
Capability perform multiple multiple tasks
single (and simple) Esp8266 perform single
tasks simultaneously. simultaneously.
tasks repeatedly. (and simple) tasks
repeatedly.
ESP32 supports
Arduino does not Raspberry Pi STM32 does not
Wireless Bluetooth and WiFi.
support Bluetooth or supports Bluetooth support Bluetooth or
connectivity ESP8266 supports
WiFi. and WiFi. WiFi.
Bluetooth and WiFi.
Speech Recognition,
Image Recognition,
PC and gaming
Cameras for Video
Traffic light peripherals, GPS
Streaming, Smart
countdown timer, Robot controller, platforms, industrial
Building, etc (ESP32).
Applications Parking lot counter, Game servers, Stop applications, PLCs,
Home appliances, Baby
Weighing machines, motion cameras, etc. inverters, printers,
monitors, Security ID
etc. scanners, alarm
tags, Wi-Fi location-
systems, etc
aware devices,
etc(ESP8266).
5. Comparing between controller boards
ESP32 ESP8266 Raspberry Pi 3 B+ Arduino Uno R3 STM32F103C8T6
CPU Tensilica Xtensa Tensilica LX106 Broadcom 16MHz 32-bit ARM Cortex
LX6 32 bit (up to 160 BCM2837B0, ATmega328P M3 72MHz max
32 bit Dual-Core @ MHz) Cortex-A53 64-bit
160 / 240Mhz. ((4) – Page 2) ((5) – Page 1)
SoC @ 1.4GHz
((2) – Page 7)
((3) – Page 2)
((1) – Page 24)
Co- ULP No No USB Bridge No
processor
((1) – Page 24) ((4) – Page 6)
RAM 520 KB Up to 50 KB 1 GB DDR2 2 KB 20 Kb
((1) – Page 24) ((2) – Page 8) ((3) – Page 2) ((4) – Page 2) ((5) – Page 1)
ROM 448 KB Use external SPI SD Card 32 KB 64 Kb or 128 Kb
(Flash) flash 16MB
((1) – Page 24) ((3) – Page 2) ((4) – Page 2) ((5) – Page 1)
((2) – Page 8)
UART 3 2 2 1 3 USARTs (ISO 7816
interface, LIN, IrDA
((1) – Page 37) ((2) – Page 15) ((9) – Page 4) ((4) – Page 2) capability, modem
control)
((5) – Page 1)
SPI 4 2 3 1 2
((6) – Page 117) ((2) – Page 14) ((9) – Page 4) ((4) – Page 2) ((5) – Page 1)
5. Comparing between controller boards
ESP32 ESP8266 Raspberry Pi 3 B+ Arduino Uno R3 STM32F103C8
T6
Wi-Fi Yes 802.11b/g/n Yes 802.11b/g/n 2.4GHz and 5GHz No No
(max 65Mbps) IEEE 802.11.b/g/n/ac
((1) – Page 8)
((2) – Page 1) ((3) – Page 2)
Temperature No No No No Yes
sensor
((5) – Page 20)
Touch sensors 10 No No No No
((1) – Page 35)
5. Comparing between controller boards
ESP32 ESP8266 Raspberry Pi 3 B+ Arduino Uno R3 STM32F103C8T6
I²C 2 1 1 1 2
((1) – Page 37) ((2) – Page 15) ((9) – Page 28) ((4) – Page 2) ((5) – Page 20)
I2S 2 2 Yes No No
((1) – Page 38) ((2) – Page 15) ((9) – Page 119)
ADC 12 bit SAR ADC up Yes 10 bit No Yes 2 x 12-bit, 1 μs A/D
to 18 channels converters (10 channels)
((2) – Page 17) ((4) – Page 9)
((1) – Page 40) ((5) – Page 10)
DAC 8 bit up to 2 No No No No
channels
((1) – Page 40)
PWM 6 4 2 6 1
((6) – Page 117) ((2) – Page 16) ((9) – Page 140) ((4) – Page 2) ((5) – Page 13)
SDMMC Yes No Yes No No
((1) – Page 27) ((3) – Page 2)
1. ESP32 (1)
https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
2. ESP8266 (2)
https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf
3. Raspberry Pi 3 B+ (3)
https://static.raspberrypi.org/files/product-briefs/Raspberry-Pi-Model-Bplus-Product-Brief.pdf
5. STM32F103C8T6 (5)
https://www.st.com/resource/en/datasheet/stm32f103c8.pdf
6. ESP32 (6)
https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf#spi
6. Reference
7. ESP8266 (7)
https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf
8. STM32F103C8T6
https://www.st.com/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and
stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
9. Raspberry Pi 3 B+
https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
Base on the document in this link
https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837
The underlying architecture of the BCM2837 is identical to the BCM2836 and BCM2835. The only significant
difference is the replacement of the ARMv7 quad core cluster with a quad-core ARM Cortex A53 (ARMv8) cluster.
THANK YOU FOR
WATCHING