Which are the main differences between
Arduino UNO and STM32 Nucleo
microprocessor board ?
Starting from the architecture of the microprocessor:
- Arduino UNO use the ATMEL ATMega328P microprocessor, an 8 bit BUS core with AVR advanced RISC architecture able to perform 1 MIPS per MHz (see wikipedia about MIPS).
- STM32 Nucleo F401 (this board will be used on future posts and investigations) use the ARM Cortex architecture, an 32 bit BUS core able to perform 1.25 DMIPS per MHz.
The STM32F401 ARM architecture perform better than ATMega328P compared to the same oscillator frequency.
Differences in price per quantity between microcontroller (at the time of this post):
- ATMEL AVR ATMega328P = 1.23$ per 5’000 pieces
- STM32F401RE = 3$ per 10’000 pieces
The ATMega328P is near 1/3 less expensive than STM32F401
Numbers of I/O pin:
- ATMEL AVR ATMega328P = 23 Pins
- STM32F401RE = from 36 up to 81 Pins (all 5V tolerant)
The STM32F401 has near 3 times pins than ATMega328P
Main program memory
- ATMEL AVR ATMega328P = 32 kbytes Flash
- STM32F401RE = 512 kbytes Flash
The STM32F401 has near 16 times more program memory capacity than ATMega328P
RAM memory
- ATMEL AVR ATMega328P = 2 kbytes SRAM
- STM32F401RE = 96 kbytes SRAM
The STM32F401 has near 48 times more RAM memory capacity than ATMega328P
Numbers of AD converter pins:
- ATMEL AVR ATMega328P = up to 6 to 8 channels
- STM32F401RE =up to 16 channels
The STM32F401 has near 2 times ADC channels than ATMega328P
AD converter resolution:
- ATMEL AVR ATMega328P = 10 bit (1024 points of resolution)
- STM32F401RE =12 bit (4096 points of resolution)
The STM32F401 has near 4 times analog to digital converter resolution than ATMega328P
Power supply voltage:
- ATMEL AVR ATMega328P = 1.8 to 5.5 Volt
- STM32F401RE = 1.7 to 3.6 Volt
The STM32F401 need a lower power voltage than ATMega328P
Compatibilty with Arduino IDE programming suite:
- ATMEL AVR ATMega328P = NATIVE 100% compatible
- STM32F401RE = an STM32 CORE must be added to the IDE programming suite
The STM32F401 is less Arduino IDE compatible than ATMega328P
Numbers of USART ports:
- ATMEL AVR ATMega328P = 1
- STM32F401RE = up to 3
The STM32F401 has near 3 times USART ports than ATMega328P