Een slimmere plant bouwen
Ongeveer een jaar lang lagen er een ESP32 en een paar capacitieve bodemvochtsensoren in een la. Ik had al eens geprobeerd er één aan de praat te krijgen, maar gaf het uiteindelijk op toen ik tegen problemen aanliep waar ik niet uitkwam.
Een paar dagen geleden besloot ik dat het tijd was voor een nieuwe poging.
Terug naar het breadboard

Het eerste wat ik ontdekte was dat de sensor waarmee ik destijds testte gewoon kapot was. Gelukkig had ik er nog een liggen.
Die zag er veel beter uit. Eerst gaf hij zinnige waarden, maar na een minuut of twee zakte elke meting langzaam terug naar nul. Mijn eerste gedachte was dat ik hem op de verkeerde GPIO-pin had aangesloten, dus probeerde ik een paar andere analoge ingangen. Het gedrag bleef precies hetzelfde.
Uiteindelijk stuitte ik op de echte oorzaak.
Volgens de documentatie van de sensor voed je hem met 3,3V, maar op mijn ESP32 werd hij pas stabiel toen ik hem op VIN (5V) aansloot. Zodra ik de voeding had omgezet, zakten de metingen niet meer weg en waren ze eindelijk betrouwbaar.
De sensor kalibreren

Met stabiele metingen kon ik de sensor eindelijk kalibreren.
De metingen kwamen ongeveer hierop uit:
| Situatie | Meting |
|---|---|
| Lucht | 2200–2350 |
| Droge aarde | 1850–2000 |
| Vochtige aarde | 1400–1500 |
| Net water gegeven | 400–600 |
In plaats van alleen ‘nat’ of ‘droog’ wilde ik iets meer terugkoppeling. Ik kwam uit op vier vochtniveaus:
- 🟢 Gezond
- 🟢🔴 Wordt droog
- 🔴 Water nodig
- 🔴 Knipperend rood — geef me nu water
Eerst bestonden deze standen alleen in Home Assistant, maar het leek me leuk als de plant zelf kon laten zien hoe het ging.
Dat betekende twee leds erbij.
De hardware bleek verrassend simpel:
ESP32 DevKit
Bodemvochtsensor
├── VCC → VIN (5V)
├── GND → GND
└── AO → GPIO34
Groene led
└── GPIO25 → weerstand 220Ω → led → GND
Rode led
└── GPIO26 → weerstand 220Ω → led → GNDMijn eerste soldeerproject

Alles begon als een berg jumperdraden op mijn bureau. Pas toen ik wist dat hardware en software betrouwbaar werkten, heb ik alles aan elkaar gesoldeerd.
Dit was ook de eerste keer dat ik soldeerde.
Mijn eerste soldeerpunten waren zeker niet mooi, maar toen ik flux ging gebruiken werd alles ineens een stuk makkelijker. Het is zo’n ding waarvan je je meteen afvraagt waarom je het niet vanaf het begin gebruikte.
Het eindresultaat is zeker niet perfect, maar stevig genoeg om in een plantenpot te wonen.
Van Arduino naar ESPHome

Oorspronkelijk werden de leds en de sensor aangestuurd door een kleine Arduino-sketch. Toen alles werkte, heb ik het project overgezet naar ESPHome, zodat ik de ESP32 via wifi kan bijwerken in plaats van hem elke keer uit de plantenbak te halen als ik een drempelwaarde wil aanpassen.
Er waren een paar momenten waarop ik dacht dat ik iets had stukgemaakt. Op een gegeven moment bleven de leds droge aarde melden, zelfs met de sensor in een glas water. Uiteindelijk was er niets mis: het mediaanfilter middelde gewoon oudere metingen, dus het duurde even voordat de nieuwe waarde zichtbaar werd.
De sensor geeft zijn vochtniveau nu door aan Home Assistant, en de leds laten dezelfde status direct op de plant zien. Ook zonder het dashboard te openen zie ik meteen of hij water nodig heeft.
Voorlopig ligt de ESP32 nog los in de plantenbak, dus ik moet er vooral aan denken er niet direct water overheen te gieten.
Een fatsoenlijke behuizing ontwerpen en 3D-printen wordt waarschijnlijk de volgende stap.
Onderdelen
- ESP32 DevKit
- Capacitieve bodemvochtsensor
- 2× weerstand 220Ω
- Groene led
- Rode led
- Stripboard
- Jumperdraden