STM32 F446 Nucelo 64 Board vs Arduino

Der bekannteste Microcontroller, der vor allem für Einsteiger sehr gut geeignet ist, ist nach wie vor der Arduino Uno. In vielen Foren und Facebook-Gruppen, werden die Diskussionen rund um STM-Controller immer lauter. Wir haben den STM32 Nucleo mit dem Arduino Uno verglichen und erläutern die Vor- und Nachteile gegenüber dem Arduino UNO.

Warum der Arduino so erfolgreich ist?

Für Arduino bzw. Genuino gibt es zum einen sehr viele Anwendungsbeispiele und zum anderen auch eine leicht zu erlernende Programmiersprache. Grundsätzlich ist die Programmiersprache C/C++, jedoch gibt es im Frontend keine Header-Dateien und anstatt dessen einfach zu verwendete Bibliotheken. Außerdem ist der Arduino einer der ersten Prototyping-Boards am Markt seit 2005 gewesen. Hinzu kommt auch noch, dass im Gegensatz zu anderen Mikrocontrollern zur damaligen Zeit das Arduino-Board bereits einen Bootloader hatte und alles, was zum Programmieren benötigt wurde, bereits auf der Platine integriert war. Über den Pin-Header kann man weitere Komponenten (Netzwerkkarten, SD-Karte, Motor-Treiber usw.) in Form von Shields auf das Board hinaufstecken, wodurch sich der Anwender das Verdrahten und Löten der Komponenten erspart.

STM32 Nucleo

Seit 2011 hat auch STMicroelectronics Mikrocontroller, die dem Arduino ähnlich sind. Mit dem im Jahr 2017 vorgestellten Board (STM32 Nucleo) hat STM ein Prototyping-Board auf den Markt gebracht, das auch mit Arduino-Shields kompatibel ist. Zudem gibt es auch von STM den CubeIDE, eine Software, die zum Programmieren der Controller verwendet werden kann. Das Board selbst, hat in der Mitte den gleichen PIN-Header, wie der Arduino. Außenrum gibt es noch zwei weitere Stiftleisten, mit zusätzlichen I/O Pins.

STM43F446 Microcontroller IC

Der Prozessor

Der Arduino Uno basiert auf einem ATMega328 von Amtel. STM hingegen hat am Board seinen eigenen Prozessor verbaut, der auf einer ARM-Architektur basiert. STM liegt hier aufgrund der höheren Taktfrequenz, den größeren Speicher und der Unterstützung von zusätzlichen Schnittstellen ganz klar vorne. Arduino verwendet einen EEPROM Speicher, der vom Programm aus beschrieben werden kann, um Daten dauerhaft zu speichern. Der Nucleo hat keinen EEPROM, aber dafür einen Flash Speicher, auf dem sowohl der Mikrocontroller selbst als auch der Anwender (Über USB-Kabel) zugriff hat. Dadurch kann der Microcontroller zum Beispiel LOG-Dateien auf den Speicher schreiben und der Anwender kann diese ganz einfach herunterladen.

I/O-Pins und Schnittstellen

Der Arduino hat insgesamt 20 I/O-Pins, die dem Anwender zur Verfügung stehen. Der Nucleo hat insgesamt 50 I/O-Pins, was ungefähr einen Arduino Mega entsprechen würde. Die folgende Tabelle stellt eine Übersicht der Schnittstellen zwischen dem Arduino und dem Nucleo dar:

Arduino STM32 Nucleo
ADC 6 @ 10-Bit 16 @ 12-Bit
Digital I/Os 20 50
I2C 1 3
SPI 1 3
HW-UART 1 4
CAN Nein Ja

Energieverbrauch und Spannungen

Beide Boards können über verschiedene Möglichkeiten mit Strom versorgt werden. Beide Boards verfügen über einen USB-Anschluss oder einem VIN-Pin. Beim VIN-Pin wird die Spannung über einen VR (Voltage Regulator) für die restlichen Bauteile angepasst. Für den Test wurde die Spannung über den VIN-Pin mit 6.0 Volt zugeführt. Dabei ergab die Stromaufnahme im Leerlauf beim Arduino 25,6 mA und beim Nucleo 40,8 mA. Durch das entfernen vom VR und der Aktivierung von Sleep-Modes kann man den Stromverbrauch jedoch noch bei beiden Boards um ein vielfaches reduzieren.

STM Nucleo Arduino Energie Consumption

Speicher

Auch beim Speicher liegt der Nucleo ganz klar vor dem Arduino. Für Anfänger und kleine bis mittlere Projekte reicht der Arduino jedoch auch völlig aus. Hier geht es hauptsächlich um den Programmspeicherplatz sowie um den Arbeitsspeicher. Werden von einem Mikrocontroller Daten aufgezeichnet, so werden diese in der Regel nicht auf einen internen Flash oder EEPROM gespeichert, sondern auf einen externen Speicher wie z.B. auf eine SD-Karte. Trotz des im Vergleich zum Nucelo-Board geringen Speicher vom Arduino, kann man mit dem Arduino Uno problemlos eine Smarthome-Zentrale oder einen kleinen Webserver realisieren.

Arduino STM32 Nucleo
RAM 2 KB 128 KB
Flash 32 KB 512 KB
EEPROM 1 KB Nein

Fazit

STM hat ein tolles Board geschaffen, allerdings nicht für Anfänger. Arduino wird hier vermutlich weiterhin Marktführer bleiben, da es einfacher ist und sehr viele Codebeispiele gibt. Außerdem ist die Dokumentation viel größer, denn es gibt über Arduino sehr viele Tutorials und gute Fachbücher. Für Profis und erfahrene Elektroniker ist der Nucleo selbstverständlich ein tolles Board, da es mehr Speicher und Schnittstellen gibt, die bei großen Projekten notwendig sind. Am besten gefällt uns der große Flash-Speicher, den STM verbaut hat.

Oft gelesen

Anzeige:

Video zum Beitrag

Social Media

Newsletter