Arduino UNO & STM32 Nucleo: which differences ?

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

Autore dell'articolo: Lucio Sciamanna