Die Qual der Wahl: SAMD21, 32U4 oder doch ESP8266

Da immer wieder die Frage “Welchen µC einsetzen?” kommt, hier ein kurzer Vergleich:

SAMD21 32U4 ESP8266/ESP12
Bezeichnung ATSAMD21G18A ATMEGA32U4 ESP8266EX
RAM 32KB 2.5KB  64KB
ROM Flash 256KB ROM 32KB, EEPROM 1k Flash 4MB
GPIOs 38 20 16
UARTs bis zu 6 1 2*
ADC 14 12 1
Taktfrequenz 48MHz@3.3V 8MHz@3.3V / 16MHz@5V 80Mhz@3.3V
Stromverbrauch Blinksketch 20.5mA 15.4mA 20.3mA**

* ESP hat zwar 2x UARTs aber der 2. hat nur TX. (GPIO2).
** WLAN aus. Beim Start ca. 300mA für 100ms

Der ESP8266 hat WLAN, aber dadurch wird auch mehr Strom verbraucht. Sogar mit ausgeschaltetem WLAN braucht er beim starten kurzzeitig ca 100mA, was dazu führt, dass er versorgt durch den KNX-Transceiver nicht starten kann, da nicht so viel Strom zur Verfügung steht. Für die Anwendungen mit externer Stromversorgung ist der ESP8266 sehr interessant, da die Sketches über OverTheAir-Update (also über die WLAN Verbindung) aktualisiert werden können.

Der 32U4 wird im Arduino Leonardo, Micro und etc. verwendet. USB Support ist vorhanden, was einfache Firmware-Updates erlaubt. Allerdings hat der 32u4 – verglichen mit SAMD – weniger Interrupts und nur einen UART.

SAMD21 ist ein 32bit ARM Cortex M0+ Mikrocontroller. Dieser findet Einsatz im Arduino Zero/M0. Er hat bis zu 6 UARTs, die man an unterschiedliche GPIOs legen kann. USB ist auch on-board. Viele Interrupts, 3x PWM Timer mit bis zu 8x PWM-Pins möglich (+ 4x PWM Pins sind über zusätzliche “nicht PWM-Timer” möglich), 12bit ADC und und und…

Damit hat man nun nach wie vr die Qual der Wahl. Aber dank dieser Übersicht kann man sich ein erstes Bild machen wohin die Reise in Zukunft gehen kann/soll.