De NutriSense - een eetdagboek
08-08-2025
Hou zonder na te denken bij wat je eet met dit vol-automatisch eetdagboek-apparaat.
Health
Health
Mensen die letten op hun dieet - zoals ik - houden soms een eetdagboek bij. Ze schrijven gedurende de hele dag op wat ze eten zodat ze inzicht krijgen in bijvoorbeeld het aantal calorieën dat ze binnenkrijgen. Maar dat is veel werk. Zelfs met een 'handige' app is het een administrafief rotklusje. Op de afbeelding hieronder zie je hoe ik dat deed: ik gebruikte een spreadsheet waar ik alles wat ik at in noteerde.
Nu is er de NutriSense. Ik gebruik dit apparaat nu als eetdagboek. Volledig automatisch. Ik scan een tag en klaar: hij vult alles vanzelf in. Mijn hele eetgeschiedenis komt spontaan in een database. Ik hoef alleen maar een RFID-tag voor de lezer van de NutriSense te houden.

Toen: een spreadsheet
Nu: een apparaat dat ik heb gemaakt
Scenario
Maak je eten klaar. Bijvoorbeeld: 1 potje tuinbonen, kom gekookte aardappelen en een snee roggebrood*. Vervolgens scan je de tags "Tuinbonen" en "Roggebrood", je plaatst het kommetje gekookte aardappelen op het weegplatform van de NutriSense en scant de tag "Gekookte aardappelen". Klaar! Alles is meteen gelogd en je kunt zonder vertraging gaan eten van je gezonde maaltijd.
Op het matrixdisplay van het apparaat staat het aantal calorieën dat je vandaag tot nu toe hebt gegeten.
Scannen maar
De RFID-tags zijn ge-3d-printte kaartjes waar een RFID-sticker in is verwerkt. Om snel de juiste tag te vinden zijn ze geprint in diverse kleuren, per categorie voedsel een kleur:
Fruit (bessen, ananas): oranje
Aardappelen (gekookt, oven, zoete aardappel): geel
Groenten (bonen, tuinbonen, witte bonen, broccoli): groen
Brood & granen (roggebrood, volkoren brood, havermout, bami, macaroni): bruin

Al 416 calorieën gegeten vandaag
Tags
Weegschaal
Op sommige tags zoals aardappelen, spruitjes, enz. staat een weegschaalsymbooltje. Die moet je wegen. In de NutriSense zit een weegschaal ingebouwd. Ik plaats mijn kommetje gekookte aardappelen (ik eet altijd uit kommetjes) op de weegschaal, scan de tag en klaar. Het gewicht van het kommetje is bekend dus hij weet precies hoeveel aardappelen ik eet.
Bouw
Het was een leuk project vooral door de grote hoeveelheid verschillende modules die allemaal door één Arduinosketch worden aangestuurd. Het omvatte wel een aantal iteraties. Vooral de bevestiging van het matrixdisplay had nogal wat voeten in de aarde. Het is nu goed gelukt zonder dat ik hot glue hoefde te gebruiken. Ook werd alles van de binnenkant best warm, dat is nu opgelost door simpele ventilatiegaten toe te voegen. Alle elektronica is gemonteerd op het deksel zodat er geen draden van paneel naar kast hoeven te lopen.
De drukschakelaars die je op de foto's van het apparaat ziet zijn niet meer in gebruik, die waren van een eerder prototype.

In het schema zie je dat zowel het display als de RFID-taglezer gebruik maken van de pennen D11 en D13 van de Arduino. Op internet zie je deze oplossing niet vaak terwijl het wel standaard zo bedoeld is voor apparaten met een zogenaamde SPI-aansturing. Werkt prima zo!

Let wel dat de RFID-module gevoed moet worden met 3,3V anders gaat hij stuk. Het model van Hackerstore is aan de datapennen 5V tolerant dus die werkt goed voor deze toepassing.
Database
Zowel de lijst met producten (tags) als het eetlogboek worden opgeslagen in een SQLite database. Op een lokaal gehoste server bij mij thuis draait een Apache webserver met een PHP-applicatie die alles regelt. Ik heb ook nog de phpliteAdmin-app toegevoegd zodat je de data in de database kunt bekijken, bewerken en analyseren.

Opbergdoos
Ik heb voor op het aanrecht er nog een mooie opbergdoos voor gemaakt. Alle tags (alles wat ik wel eens eet dus) passen hier netjes in. Mochten er meer tags nodig zijn in de toekomst dan kan ik die erook in kwijt dankzij verschuifbare backplates. Dit idee heb ik afgekeken van de oude floppydisk-opbergdozen.

Download
Alle bestanden waaronder de Arduino-code, de PHP backend, de database en alles om de behuizing en het opbergbakje en de tags te printen staan in een zipbestand. Download zipbestand.
Vooruitblik
Na enige tijd in gebruik te zijn geweest ben ik van mening dat dit een super-apparaat is! Ik ga er nog een vervolgversie van maken denk ik met mogelijk de volgende verbeterpunten:
- Een LCD als display zodat er meer tekst tegelijk op kan zonder te scrollen.
- Meer info op het display en op de tags zoals het aantal calorieën. Als dit op een tag staat helpt dit al bij de keuze "wat zal ik eens eten?".
- Additionele feedback met audio (een buzzer of zo) zodat fouten sneller worden opgemerkt zoals bijvoorbeeld als je vergeet te wegen bij eten dat wel gewogen moet worden.
- Mooiere behuizing. Het oog wil ook wat.
- Blijf gebruik maken van dezelfde database zodat ik 2 werkende apparaten heb op verschillende plaatsen in huis.
- Meer statistieken of analyses met AI over mijn eetgedrag.
Nu is er de NutriSense. Ik gebruik dit apparaat nu als eetdagboek. Volledig automatisch. Ik scan een tag en klaar: hij vult alles vanzelf in. Mijn hele eetgeschiedenis komt spontaan in een database. Ik hoef alleen maar een RFID-tag voor de lezer van de NutriSense te houden.

Toen: een spreadsheet

Nu: een apparaat dat ik heb gemaakt
Scenario
Maak je eten klaar. Bijvoorbeeld: 1 potje tuinbonen, kom gekookte aardappelen en een snee roggebrood*. Vervolgens scan je de tags "Tuinbonen" en "Roggebrood", je plaatst het kommetje gekookte aardappelen op het weegplatform van de NutriSense en scant de tag "Gekookte aardappelen". Klaar! Alles is meteen gelogd en je kunt zonder vertraging gaan eten van je gezonde maaltijd.
*Dit is een maaltijd zoals ik vaak eet, WFPB-dieet. Ieder zijn eigen dieet natuurlijk.
Op het matrixdisplay van het apparaat staat het aantal calorieën dat je vandaag tot nu toe hebt gegeten.
Scannen maar
De RFID-tags zijn ge-3d-printte kaartjes waar een RFID-sticker in is verwerkt. Om snel de juiste tag te vinden zijn ze geprint in diverse kleuren, per categorie voedsel een kleur:
Fruit (bessen, ananas): oranje
Aardappelen (gekookt, oven, zoete aardappel): geel
Groenten (bonen, tuinbonen, witte bonen, broccoli): groen
Brood & granen (roggebrood, volkoren brood, havermout, bami, macaroni): bruin

Al 416 calorieën gegeten vandaag

Tags
Weegschaal
Op sommige tags zoals aardappelen, spruitjes, enz. staat een weegschaalsymbooltje. Die moet je wegen. In de NutriSense zit een weegschaal ingebouwd. Ik plaats mijn kommetje gekookte aardappelen (ik eet altijd uit kommetjes) op de weegschaal, scan de tag en klaar. Het gewicht van het kommetje is bekend dus hij weet precies hoeveel aardappelen ik eet.
Bouw
Het was een leuk project vooral door de grote hoeveelheid verschillende modules die allemaal door één Arduinosketch worden aangestuurd. Het omvatte wel een aantal iteraties. Vooral de bevestiging van het matrixdisplay had nogal wat voeten in de aarde. Het is nu goed gelukt zonder dat ik hot glue hoefde te gebruiken. Ook werd alles van de binnenkant best warm, dat is nu opgelost door simpele ventilatiegaten toe te voegen. Alle elektronica is gemonteerd op het deksel zodat er geen draden van paneel naar kast hoeven te lopen.
De drukschakelaars die je op de foto's van het apparaat ziet zijn niet meer in gebruik, die waren van een eerder prototype.

In het schema zie je dat zowel het display als de RFID-taglezer gebruik maken van de pennen D11 en D13 van de Arduino. Op internet zie je deze oplossing niet vaak terwijl het wel standaard zo bedoeld is voor apparaten met een zogenaamde SPI-aansturing. Werkt prima zo!

Let wel dat de RFID-module gevoed moet worden met 3,3V anders gaat hij stuk. Het model van Hackerstore is aan de datapennen 5V tolerant dus die werkt goed voor deze toepassing.
Database
Zowel de lijst met producten (tags) als het eetlogboek worden opgeslagen in een SQLite database. Op een lokaal gehoste server bij mij thuis draait een Apache webserver met een PHP-applicatie die alles regelt. Ik heb ook nog de phpliteAdmin-app toegevoegd zodat je de data in de database kunt bekijken, bewerken en analyseren.

Opbergdoos
Ik heb voor op het aanrecht er nog een mooie opbergdoos voor gemaakt. Alle tags (alles wat ik wel eens eet dus) passen hier netjes in. Mochten er meer tags nodig zijn in de toekomst dan kan ik die erook in kwijt dankzij verschuifbare backplates. Dit idee heb ik afgekeken van de oude floppydisk-opbergdozen.

Download
Alle bestanden waaronder de Arduino-code, de PHP backend, de database en alles om de behuizing en het opbergbakje en de tags te printen staan in een zipbestand. Download zipbestand.
Vooruitblik
Na enige tijd in gebruik te zijn geweest ben ik van mening dat dit een super-apparaat is! Ik ga er nog een vervolgversie van maken denk ik met mogelijk de volgende verbeterpunten:
- Een LCD als display zodat er meer tekst tegelijk op kan zonder te scrollen.
- Meer info op het display en op de tags zoals het aantal calorieën. Als dit op een tag staat helpt dit al bij de keuze "wat zal ik eens eten?".
- Additionele feedback met audio (een buzzer of zo) zodat fouten sneller worden opgemerkt zoals bijvoorbeeld als je vergeet te wegen bij eten dat wel gewogen moet worden.
- Mooiere behuizing. Het oog wil ook wat.
- Blijf gebruik maken van dezelfde database zodat ik 2 werkende apparaten heb op verschillende plaatsen in huis.
- Meer statistieken of analyses met AI over mijn eetgedrag.