Microcontroller – Arduino Nano 33 IoT

In diesem neuen Beitrag möchte ich dir den kleinen Microcontroller vom Typ Arduino Nano 33 IoT vorstellen.

Arduino Nano 33 IoT
Arduino Nano 33 IoT

Bezug

Den mir vorliegenden Microcontroller habe ich für knapp 22€ zzgl. Versandkosten auf amazon.de (kostenfrei durch Amazon Prime) erstanden.

Aber du findest diesen Zwerg auch auf ebay.de für 35€ zzgl. Versandkosten.

Lieferumfang

Zum Lieferumfang des Microcontrollers gehört neben der Platine auch 2 Stiftleisten welche später an diesen gelötet werden können / müssen.

Lieferumfang des Arduino Nano 33 IoT
Lieferumfang des Arduino Nano 33 IoT

technische Daten

Hier nun die technischen Daten des Microcontrollers. Diese Daten habe ich von der offiziellen Seite zum Microcontroller von Arduino.cc entnommen.

BeschreibungWert
Microcontroller32bit SAMD21 Cortex M0, Low Power ARM MCU
Taktgeschwindigkeit48 MHz
Betriebsspannung3.3 V
max. Eingangsspannung21 V
max. Stromaufnahme pro I/O7 mA
Flash Speicher256 KB
SRAM32 KB
EEPROM– ohne –
digitale Ein/Ausgänge14
PWM Pins11 (2, 3, 5, 6, 9, 10, 11, 12, 16 / A2, 17 / A3, 19 / A5)
analoge Eingänge8
analoge Ausgänge1
Schnittstellen1x UART,
1x SPI,
1x I²C,
Bluetooth (BLE 4.2),
WiFi
LED Buildindigitaler Pin D13
AbmaßeLänge: 45mm
Breite: 18mm
Höhe:
Gewicht5g

Aufbau & Pinout

Der Arduino Nano 33 IoT verfügt über 14 digitale und 9 analoge Pins. Des Weiteren verfügt dieser über die Schnittstellen UART (TX & RX), I²C (SDA & SCL) sowie SPI (MISO, MOSI, SCK, SS).

Auf der Rückseite sind diese Pins auf der Platine beschriftet.

Rückseite
Rückseite

Den Microcontroller kannst du mit den beigefügten Stiftleisten auf einem Breadboard stecken oder aber auch direkt auf eine Lochrasterplatine löten. (Ich habe mich entschlossen diesen mit den Stiftleisten zu betreiben.)

Pinout des Arduino Nano 33 IoT
Pinout des Arduino Nano 33 IoT

Weiterführende Informationen zu den Pins des Microcontrollers findest du zbsp. im Datenblatt von der Firma Reichelt (leider jedoch nur in englischer Sprache).

Vergleich mit dem Arduino Nano

Der hier gezeigte Microcontroller ist von den abmaßen und den Pinbelegungen mit dem Arduino Nano V3 vergleichbar.

Vergleich - Arduino Nano 33 IoT & Keyestudio Nano
Vergleich – Arduino Nano 33 IoT & Keyestudio Nano

Dieses gibt dir die Möglichkeit deine bestehenden Projekte um eine Bluetooth 4.2 und / oder einer WiFi Schnittstelle zu erweitern welches manchmal sehr von Vorteil ist.

Aber zu diesem Thema folgt ein separater Beitrag wo ich genauer auf die Unterschiede der beiden Microcontroller eingehe.

Programmieren in der Arduino IDE

Den Microcontroller kannst du in der Arduino Familie üblichen Entwicklungsumgebung Arduino IDE programmieren. Dazu musst du jedoch zunächst den Treiber für das Board installieren.

Nachdem der Treiber für das Board installiert wurde, kann dieser über Werkzeuge > Boards ausgewählt werden.

auswahl des Board in der Arduino IDE
Auswahl des Board in der Arduino IDE

Ausgewählter Microcontroller an COM7 unter Microsoft Windows 10.

Arduino Nano 33 IoT Einstellungen in der Arduino IDE
Arduino Nano 33 IoT Einstellungen in der Arduino IDE

Hier erkennt man wieder deutlich das nicht nur der COM Port angezeigt wird, sondern auch das der Name / Typ des Boards erkannt wird. Dieses wird zbsp. bei den China Klones nicht angezeigt.

Troubleshooting – fatal error: core_cm0plus.h: No such file or directory

Wenn die Arduino IDE als “normaler” Benutzer gestartet und der Treiber für das Board “Arduino SAMD21” installiert wird, kann es vorkommen dass, der Treiber nicht korrekt installiert wird.

Leider gibt es keine Fehlermeldung bei der Installation, d.h. man erhält keinen Dialog welcher auf eine Fehlerhafte Installation hindeutet. Es wird lediglich beim kompilieren des Sketches der Fehler “fatal error: core_cm0plus.h: No such file or directory” angezeigt.

Wenn man nun in das Installationsverzeichnis wechseln würde, und den Inhalt mit dem Umfang auf dem GitHub Repository vergleicht, erkennt man das einige Dateien fehlen.

Es bleibt somit die Lösung die Arduino IDE mit Administratorrechten zu starten und den Treiber zunächst zu entfernen und danach neu zu installieren.

Arduino IDE als Administrator unter Windows 10 starten

In meinem Fall dauerte die erneute Installation deutlich länger als zuvor, was davon zeugt das mehr Daten geladen werden.

Wenn nun der Sketch neu kompiliert und auf den Microcontroller hochgeladen wird, werden nachfolgende Daten in der Konsole angezeigt.

Der Sketch verwendet 11216 Bytes (4%) des Programmspeicherplatzes. Das Maximum sind 262144 Bytes.
Globale Variablen verwenden 2384 Bytes (7%) des dynamischen Speichers, 30384 Bytes für lokale Variablen verbleiben. Das Maximum sind 32768 Bytes.
Atmel SMART device 0x10010005 found
Device       : ATSAMD21G18A
Chip ID      : 10010005
Version      : v2.0 [Arduino:XYZ] Apr 19 2019 14:38:48
Address      : 8192
Pages        : 3968
Page Size    : 64 bytes
Total Size   : 248KB
Planes       : 1
Lock Regions : 16
Locked       : none
Security     : false
Boot Flash   : true
BOD          : true
BOR          : true
Arduino      : FAST_CHIP_ERASE
Arduino      : FAST_MULTI_PAGE_WRITE
Arduino      : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
done in 0.839 seconds

Write 11216 bytes to flash (176 pages)
[==============================] 100% (176/176 pages)
done in 0.091 seconds

Verify 11216 bytes of flash with checksum.
Verify successful
done in 0.010 seconds
CPU reset.

In meinem Fall habe ich ein kleines Sketch zum blinken einer LED hochgeladen (siehe unter Beispiele in diesen Beitrag). Das Sketch verbraucht / belegt 4% des verfügbaren Speicher und wurde in knapp 1sek. hochgeladen.

LED blinken

Als erstes nun ein kleines Beispiel mit einer 5mm LED am Board welche wir zum blinken bringen möchten. Dieses ist recht einfach da der Microcontroller nicht anders als andere Microcontroller der Arduino Familie in der Arduino IDE programmiert wird.

Aufbau der Schaltung

Aufbau der Schaltung - einfache LED
Aufbau der Schaltung – einfache LED

Quellcode

#define led 12

void setup(){
  pinMode(led, OUTPUT);
}

void loop(){
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
}

Video

Ausblick

Nachdem der Microcontroller erfolgreich in der Arduino IDE installiert bzw. eingerichtet wurde, kann nun mit weiteren kleinen bis mittleren Projekten begonnen werden.

Als nächstes folgen nun die üblichen verdächtigen wie der digitale Temperatursensor DS18B20, der analoge Sensor LM35DZ.

Durch die vorhandenen drahtlosen Schnittstellen (Bluetooth Low Energy 4.2 & WiFi) ergeben sich auch einige kleine Projekte für das Web. Daher kommt auch der Namenszusatz IoT.

Des Weiteren stelle ich dir auch die recht neue Arduino Cloud vor und zeige dir mit diesen ein paar Beispiele.

3 Kommentare

    1. Hi,

      ja das stimmt wohl. Aber durch den verbauten Microcontroller ergeben sich andere Anwendungsbereiche daher ist ein pauschaler Vergleich nur über den Preis nur bedingt möglich.

      Gruß,

      Stefan Draeger

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.