Steeds meer geografische data wordt in realtime verzameld met sensoren in plaats van handmatig. Hierdoor kunnen organisaties sneller inspelen op veranderingen en beschikken zij continu over actuele geografische informatie.
Deze IoT tutorial heb ik gebruikt in een workshop die ik gegeven heb op de FOSS4G Europe 2026 in Roemenie. In andere blog, Terugkijkend op de FOSS4G Europe 2026 Timișoara, Roemenië vertel ik over mijn ervaringen op die fantastische conferentie.
GIS draait al lang niet meer alleen om het analyseren van bestaande datasets. Steeds vaker worden geografische gegevens in realtime verzameld met IoT-sensoren. Daarom is het voor geo-professionals steeds belangrijker om te begrijpen hoe sensordata wordt verzameld, verwerkt en via Wi-Fi en protocollen zoals MQTT in een GIS terechtkomt. Deze kennis is onmisbaar in onder meer waterbeheer, infrastructuur, landbouw en smart cities. De knipperende LED in deze tutorial is de eerste stap naar het bouwen van professionele Geo-IoT-oplossingen met realtime geodata.
Elk microcontrollerproject begint met een eerste programma. In deze tutorial leer je hoe je de XIAO ESP32-C3 instelt, de Arduino IDE installeert en een eenvoudig programma uploadt dat een LED laat knipperen.
Onderweg maak je kennis met de basisprincipes van de hardware, software en programmeerworkflow die worden gebruikt voor de ontwikkeling van ESP32-projecten.
Hoewel een knipperende LED misschien eenvoudig lijkt, is dit een belangrijke eerste stap. Zodra je begrijpt hoe je code uploadt en hardware aanstuurt, ben je klaar om geavanceerdere projecten te bouwen met sensoren, draadloze communicatie en IoT-technologieën.
Voordat je je eerste programma uploadt, heb je een paar eenvoudige onderdelen nodig. Geen zorgen als je nog nooit met elektronica hebt gewerkt: dit circuit is eenvoudig op te bouwen en vereist geen soldeerwerk.
Voor deze tutorial heb je nodig:

De microcontroller is het brein van de sensoropstelling: XIAO ESP32-C3

Een breadboard om alles met elkaar te verbinden zonder te solderen. lees meer op https://learn.sparkfun.com/tutorials/how-to-use-a-breadboard/all)

Een LED (de lange poot is de +)

Een 330 Ω-weerstand om te voorkomen dat de LED doorbrandt.
Nu je alle benodigde onderdelen hebt, kun je deze op het breadboard aansluiten zoals hieronder is weergegeven:

Visualisatie van de hardwareopstelling op het breadboard
Nu het circuit is opgebouwd, moeten we de microcontroller vertellen wat hij moet doen. Hiervoor gaan we de XIAO ESP32-C3 programmeren.
We beginnen met het installeren van de Arduino IDE, het configureren van de software voor ESP32-ontwikkeling en het aansluiten van het board op de computer. Zodra alles is ingesteld, uploaden we ons eerste programma om de LED te laten knipperen.
Op Windows:
.exe).Op macOS:
.dmg).Op Linux:
De Arduino IDE ondersteunt de XIAO ESP32-C3 niet standaard. Je moet daarom eerst de officiële pakketbron van Espressif toevoegen en vervolgens het ESP32-boardpakket installeren.
Sluit de XIAO ESP32-C3 met een USB-C-kabel aan op je computer.
Gebruik een USB-C-kabel die gegevens kan overbrengen. Sommige USB-C-kabels zijn alleen geschikt om apparaten op te laden. Verschijnt het board niet in de Arduino IDE? Probeer dan eerst een andere kabel.
Ga naar Tools > Board > esp32 en selecteer XIAO_ESP32C3. Je kunt ook de boardselector boven in het Arduino IDE-venster gebruiken en zoeken op XIAO_ESP32C3.
Ga naar Tools > Port en selecteer de USB-seriële poort die bij het board hoort. Je kunt deze ook selecteren via de boardselector boven in het Arduino IDE-venster.
Op Windows is dit meestal een COM-poort, bijvoorbeeld COM3, COM4 of een hoger nummer. Op macOS of Linux begint de naam meestal met /dev/.
Weet je niet zeker welke poort bij het board hoort? Koppel het board los, bekijk de lijst met poorten, sluit het board opnieuw aan en controleer welke poort is verschenen.
Met een beetje geluk is alles goed gegaan en doet je programma helemaal niets. Perfect. Dat betekent dat je het board succesvol kunt programmeren.
Kopieer en plak onderstaande code en upload deze vervolgens naar je XIAO door op de pijl naar rechts in de Arduino IDE te klikken.
// XIAO has no built-in LED.
#define LED_NOTBUILTIN D10
void setup() {
pinMode(LED_NOTBUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_NOTBUILTIN, HIGH);
delay(1000);
digitalWrite(LED_NOTBUILTIN, LOW);
delay(1000);
}
Dat is alles! Als alles goed is gegaan, knippert de LED nu.
Als het uploaden blijft hangen op Connecting…, druk dan op de RESET-knop zodra deze melding verschijnt en probeer het uploaden opnieuw.
Gefeliciteerd!
Je hebt met succes je eerste XIAO ESP32-C3 geprogrammeerd en een externe LED aangestuurd.
Wil je verder bouwen aan praktische IoT-projecten? Dan gaat de cursus Van Sensor naar kaart met C++ en XIAO ESP32 C3 verder dan de basis. Je leert sensoren aansluiten, gegevens via Wi-Fi verzenden, werken met MQTT, GeoJSON genereren en sensordata uit de praktijk visualiseren op interactieve kaarten.
Steeds meer geografische data wordt in realtime verzameld met sensoren in plaats van handmatig. Hierdoor kunnen organisaties sneller inspelen op veranderingen en beschikken zij continu over actuele geografische informatie.
IoT-sensoren verzamelen gegevens zoals temperatuur, waterstand, luchtkwaliteit of GPS-locaties. GIS gebruikt deze gegevens om ze ruimtelijk te analyseren en te visualiseren op kaarten, waardoor patronen en trends zichtbaar worden.
Geo-IoT wordt onder andere gebruikt in waterbeheer, infrastructuur, landbouw, milieumonitoring, smart cities en assetmanagement. In al deze sectoren helpen realtime sensorgegevens bij het monitoren en beheren van objecten en de omgeving.
Steeds meer GIS-projecten maken gebruik van live sensordata. Door te begrijpen hoe deze data wordt verzameld, verzonden en verwerkt, kunnen GIS-professionals complete Geo-IoT-oplossingen ontwikkelen en beheren.
Basiskennis van programmeren is een groot voordeel. Met eenvoudige talen zoals C++ kun je sensoren aansturen, data verzamelen en deze automatisch verzenden naar GIS-platformen, webkaarten of databases. Hierdoor krijg je meer controle over de volledige dataketen.