Das Arduino MKR NB 1500 ist ein Microcontroller-Board aus der MKR-Familie von Arduino, das speziell für IoT-Anwendungen mit geringer Leistung und großer Reichweite (“Low Power Wide Area”, LPWA) entwickelt wurde. Es unterstützt NB-IoT und LTE-M (Cat M1) als Mobilfunkstandards. Wobei zu unterscheiden ist zwischen NB-IoT = langsam, sparsam, stationär, tief im Gebäude und LTE-M = schneller, mobil, bewegliche Geräte und sogar Sprache möglich.
In diesem Betrag soll es um NB-IoT gehen, soll heißen, es geht um Datenübertragung in geringer Menge, in abgelegenen Gebieten, in denen keine Internetverbindung oder Stromversorgung verfügbar ist, über ein Mobilfunknetz zu übermitteln. (Wenn LoRa im Umkreis von wenigen Kilometer nicht eingesetzt werden kann)
Wie zum Beispiel „Objekt ist noch trocken“, „Backup-Batterie ist noch voll“ oder etwa „Kein GAS gemessen“. Also für stationäre IoT-Anwendungen.

Tutorial: Effizienter NB-IoT-Feuchtigkeitssensor mit 1NCE IOT SIM Card
1. Hardware-Einkaufsliste
Komponente | Empfehlung/Beispiel | Preis (ca.) |
Mikrocontroller-Board | Arduino MKR NB 1500 (ABX00019) | 85–95 € |
IoT SIM-Karte | 1NCE IoT SIM (NB-IoT oder LTE-M) | Siehe unten |
Feuchtigkeitssensor | kapazitiver Sensor (analog, z.B. YL-69 oder v2.0) | 3–15 € |
Antenne (NB-IoT) | 2dB im Board-Kit enthalten | – |
5V Netzteil mit USB-Kabel | microUSB | ~10 € |
Steckbrett / Jumperkabel (Optional) | für Entwicklungsumgebung | – |
Li-Po Single Cell, 3.7V (Optional) | 1500mAh Minimum | 8 € |
2. Schaltplan (Verdrahtung)
- Sensor AO → A0 am Arduino
- Sensor VCC → 5V
- Sensor GND → GND
- Antenne an vorgesehenen NB-IoT-Port am Board
- IoT SIM einstecken
3. Arduino / Software-Setup
3.1. IDE und Board einrichten
- Arduino IDE installieren
- Board-Verwalter in den Einstellungen aktivieren und „Arduino SAMD Boards“ (inkl. MKR NB 1500) installieren
- 3 Bibliotheken installieren:
3.2. Minimaler UDP Sketch für 1nce Karten
#include <MKRNB.h>
#include <ArduinoLowPower.h>
NB netzZugang;
NBUDP udpSocket;
const int sensorPin = A0; // Analogeingang für Sensor
const unsigned long sendeIntervallMs = 3600000; // 60 Minuten (in ms)
const char* zielIp = "udp.os.1nce.com"; // Ziel-IP im 1NCE NAT-Backbone
const int zielPort = 4445; // Ziel-Port im Backend
const char* apn = "iot.1nce.net"; // APN für 1NCE
unsigned long zeitLetzteSendung = 0; // Zeitpunkt der letzten Sendung
// Hilfsfunktion: Verbindung aufbauen
bool verbindeNetz() {
Serial.print("Stelle Mobilfunkverbindung her (APN: ");
Serial.print(apn);
Serial.print(") ... ");
if (netzZugang.begin(apn) != NB_READY) {
Serial.println("Fehler!");
return false;
}
Serial.println("OK, Mobilfunk verbunden.");
return true;
}
void setup() {
Serial.begin(9600);
while (!Serial); // Warten auf Serial Monitor
Serial.println("NB-IoT UDP-Sensor startet...");
// Erste Netzverbindung versuchen
while (!verbindeNetz()) {
Serial.println("Neuer Versuch in 30 Sekunden...");
delay(30000);
}
udpSocket.begin(zielPort);
// Sofort beim ersten loop() senden
zeitLetzteSendung = millis() - sendeIntervallMs;
}
void loop() {
// Prüfen, ob es Zeit für eine Sendung ist
if (millis() - zeitLetzteSendung >= sendeIntervallMs) {
int sensorsignal = analogRead(sensorPin);
uint8_t messwertByte = sensorsignal / 4;
Serial.print("Sende Sensorwert: ");
Serial.print(messwertByte);
Serial.print(" (ADC: ");
Serial.print(sensorsignal);
Serial.println(") über UDP...");
// UDP-Paket senden
if (!udpSocket.beginPacket(zielIp, zielPort)) {
Serial.println("Fehler beim Öffnen des UDP-Pakets. Versuche Reconnect...");
if (!verbindeNetz()) {
Serial.println("Netz nicht verfügbar – überspringe diesen Zyklus.");
return; // Nicht senden, nächster Versuch im nächsten Zyklus
}
}
udpSocket.write(&messwertByte, 1);
if (udpSocket.endPacket() == 1) {
Serial.println("UDP-Versand erfolgreich.");
} else {
Serial.println("UDP-Versand fehlgeschlagen!");
}
// Zeitstempel für nächste Sendung merken
zeitLetzteSendung = millis();
// ⚡ Strom sparen: für das Intervall in Sleep gehen
Serial.println("Gehe in Sleep-Modus...");
LowPower.sleep(sendeIntervallMs);
Serial.println("Aufgewacht.");
}
delay(200); // kleine Entlastung
}
4. 1NCE Portal Einstellungen
4.1. SIM freischalten/registrieren
- Im 1NCE-Kundenportal unter https://portal.1nce.com anmelden
- SIM/ICCID aktivieren & unter „SIM-Management“ freischalten (APN muss iot.1nce.net lauten)
- Netz erstmalig bei Empfang sichtbar: Status „Online“ = erfolgreich verbunden
4.2. Device Integrator
- In den „1NCE OS“- oder „Device Integrator“-Bereich wechseln
- Gerät aktivieren/anlegen: Die IMSI der aktiven SIM als neues Gerät hinzufügen (Button: Aktivieren/Hinzufügen)
- UDP-Integration aktivieren: Integrationstyp „UDP“ auswählen und als Ziel udp://udp.os.1nce.com:4445 wählen
- Nach dem ersten UDP-Paket zeigt der Inspector RAW/Monitoring die gesendeten Werte (im Base64-Format, z. B. /w== für 255, jA== für 140 usw.)

5. Interpretation der Werte im Portal
- Im Device Inspector erscheinen die Werte als Base64 (z. B. „9Q==“).
- Mit jedem gesendeten UDP-Paket siehst du den Wert, konvertierbar z. B. mit Python:
import base64
print(base64.b64decode(„9Q==“)[0]) # ergibt z.B. 245
- Werte lassen sich einfach exportieren/visualisieren.
6. Typische Fehlerquellen & Lösung
Problem | Mögliche Lösung |
UDP-Werte erscheinen nicht im Portal | Ziel-IP/Port im Sketch prüfen, UDP-Integration aktivieren, Gerät im Integrator anlegen |
Base64 sieht „komisch“ aus | Immer 1-Byte binär (0–255) wird als z.B. „/w==“ im RAW angezeigt |
Kein Netz | SIM aktiv? Empfang? APN korrekt? Antenne dran? |
Zu häufiges Senden | Intervall nicht zu kurz setzen (Netzrestriktionen)! |
Fehlermeldung: Kein UDP-RAW im Inspector | Integration und Geräte-Zuweisung im 1NCE OS prüfen |
7. Hinweise zur Effizienz
- Eine UDP-Nachricht mit 1 Byte alle 60 Minuten ist maximal sparsam (praktisch keine Datenlast).
- Diese SIM einmalig 10 € – Damit habe ich Jahre Datenbetrieb (500 MB Lifetime)!
- Vorab prüfen ob in der gewünschten Region NB-IoT unterstützt wird
8. IOT SIM Card Anbieter
Es gibt zahlreiche andere Anbieter von IoT-SIM-Karten.
Die Wahl hängt von deinem Projekt, gewünschter Netzabdeckung, Support für NB-IoT/LTE-M/2G, Datenvolumen und Preismodell ab.
Hier ein kleiner Überblick mit Fokus auf DIY- und Maker-taugliche Anbieter in Deutschland/Europa (Stand 2025):
Alternativen zu 1NCE für IoT-SIM-Karten
Anbieter | Netz(e) | Besonderheiten | Preismodell | Webseite/Hinweis |
---|---|---|---|---|
Things Mobile | global (Telekom, Vodafone, …) | NB-IoT, LTE-M, 2G/3G/Fallback, Daten- & SMS-Tarife | ab ca. 10€ pro Karte + Pay-per-use, Paket-Tarife | thingsmobile.com |
Telekom Business Smart Connect | Telekom (D), Roaming EU | Deutsche Qualität, Selfcare-Portal, LTE-M/NB-IoT, SIM-Management | Starterpakete ab ca. 5–10 € / Monat, Verschiedene Bundles | iot.telekom.com |
Truphone | Global, Multi-Network | eSIM, Multi-Netz, 2G-LTE-M, API, flexibles Pay-as-you-go | Prepaid (ab 9,99 €), keine Grundgebühr | truphone.com/iot |
Soracom | Europa/Global, Multi-Netz | Developer-tauglich, API, LTE-M, global Fallback | Starter-Pakete ab 5 €, Pay-per-use | soracom.io |
Netmore | Europa | Hotspot-tauglich, ENISA-Ready, Multi-Netze | Pakete & Lifetime-Optionen | netmoregroup.com |
Vodafone IoT | D+EU, Multiroaming | Günstige Pakete, NB-IoT, API, eigene Visualisierung | Verschiedene Starterpakete, ab ca. 1€/Mon. | iot.vodafone.com |
O₂ Telefónica IoT | D+EU | Guter Netzausbau LTE-M/NB-IoT, Business-Fokus | nach Wunsch (i.d.R. >10 SIMS), Kontakt über Vertrieb | iot.telefonica.de |
Onomondo | Global | Weltweite NB-IoT/LTE-M, sehr flexibel, REST API | Auf Anfrage (ab ca. 10 €/SIM, Volumenbasiert) | onomondo.com |
Emnify | Global | API, Cloud/MQTT-Backend, Transparent, Entwicklerfreundlich | Verschiedene Pay-as-you-go Pläne | emnify.com |
Worauf achten?
- Technologie: Brauchst du neben NB-IoT auch LTE-M, 2G oder globales Roaming?
- Tarifmodell: Bezahle ich monatlich, pro MB, pro SIM oder „Einmalig“?
- Netzabdeckung: Sind alle Netze/Standorte relevant abgedeckt?
- APN/Funktionen: Eigene feste IP, VPN, SMS-Optionen, REST-Mgmt/API?
- Self-Service: Portal, SIM-Management, Realtime-Monitoring?
- Verfügbarkeit für Einzelabnehmer: Viele bieten auch einzelne SIM-Karten für Maker an (etwa Things Mobile, Truphone, Soracom, Netmore, Emnify).
Fazit:
Ja, 1NCE ist effizient, aber nur für Geschäftskunden.
Für Experimentierer, Maker und Profis gibt es viele Alternativen – oft sogar mit globaler Abdeckung und tollen Entwickler-Tools. Vorab aber immer prüfen, ob in der gewünschten Region NB‑IoT unterstützt wird!
Jeder Anbieter hat eigene Stärken (Preis, Netz, API, Features); ein Vergleich lohnt vor dem projektweiten Rollout!
Tipp: Für schnelle Tests und weltweite NB-IoT/Maker-Projekte sind besonders Things Mobile, Soracom, Truphone oder Netmore beliebt. In DE/AT/CH eignen sich Telekom Business, Vodafone und O₂ Telefónica insbesondere für professionelle und größere Szenarien.
Datenquellen:
Pinout: Belegungsplan Arduino MKR NB1500
https://docs.arduino.cc/hardware/mkr-nb-1500
https://docs.arduino.cc/tutorials/mkr-nb-1500/nb-send-sms
Der Gas Sensor MQ-02 für Methan, Propan und Butan
Youtube-Video: