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.