9 Juni 2025 –
ChatGPT Plus als programmeer-maatje
Sinds twee jaar maak ik gebruik van ChatGPT als ondersteuning bij het programmeren. Het helpt me bij het opzetten van complexe processen, corrigeert kleine fouten zoals punten, komma’s en accolades, geeft nuttige suggesties, en bovenal bewaakt het de consistentie in naamgeving en structuur. Bovendien kent de ChatGPT Plus versie ook handige grafische ondersteuning. Zo kunnen PNG files omgezet worden naar .h binary files voor weergave in grafische displays. De gratis versie van ChatGPT is beperkt in mogelijkheden. En juist de beperkte mogelijkheden zijn het aantrekkelijkst. Mooi is dat je deze mogelijkheden kun je met een betaald Plus-abonnement ongelimiteerd kan gebruiken. Inmiddels heb ik gemerkt dat het gebruik van ChatGPT Plus mij tijdens het ontwikkelen van embedded computing applicaties aanzienlijk tijd bespaart.


Wat gebeurt er met data?
Met het gebruik van AI modellen ligt er ook direct een gevaar op de loer, het gebruik van geuploade content voor het verder trainen van het ChatGPT AI model. Een voor de hand liggende vraag bij ondersteuning in het programmeren is dan ook of de code of content die ik invoer gebruikt gaat worden om het ChatGPT model verder te trainen? Ik heb de gebruiksvoorwaarden uitvoerig doorgelezen voordat ik besloten heb tot een betaald ChatGPT Plus abonnement over te gaan. Volgens het gecommuniceerde beleid van OpenAI, de organisatie achter ChatGPT, geldt voor Plus-gebruikers dat hun gegevens niet worden gebruikt voor trainingsdoeleinden, tenzij daar expliciet toestemming voor is gegeven. Alles wat ik invoer blijft bovendien privé binnen mijn sessie, tenzij ik het zelf deel in een publiek project of via de API mét logging gebruik.
Intellectueel eigendom beschermd
Wanneer je tijdens het ontwikkelen van embedded computing applicaties werkt met gevoelige of waardevolle data, is bescherming van intellectueel eigendom cruciaal. Met mijn betaalde abonnement en de juiste instellingen behoud ik het eigendomsrecht op zowel mijn input als de gegenereerde output. Belangrijk voor mij was ook te lezen dat alles wat ChatGPT genereert vrij te gebruiken en aan te passen is, ook voor commerciële toepassingen. Ik besluit vandaag eens te kijken hoe handig de ChatGPT Plus omgeving is in het snel ontwikkelen van een Proof Of Concept voor een escape room die gebruik wil maken van NFC kaarten.

Geen datatraining met mijn code
Doordat ik datadeling binnen ChatGPT Plus heb uitgeschakeld, wordt mijn code niet opgeslagen voor training van het ChatGPT model. Alles wordt alleen tijdelijk verwerkt binnen mijn specifieke sessie. Dit verkleint het risico dat mijn ideeën elders opduiken of onbedoeld hergebruikt worden. In de voorwaarden van OpenAI lees ik dat OpenAI zich nadrukkelijk profileert als een niet-NDA (Non Disclosure Aggreement)-partner. Als ik dat toch zou willen, dan kan ik een zeer kostbaar Enterprise-abonnement afsluiten.


Proof of concept escape-room
De Proof Of Concept voor een escape-room waaraan ik vandaag werk, is een applicatie waarin maximaal tien teams meedoen. Elk team krijgt een ‘hint-stick’ waarmee hints opgevraagd kunnen worden om sneller te kunnen ontsnappen. Per team zijn maximaal vijf hints beschikbaar, met een minimale wachttijd van drie minuten tussen elke hint. Elke hintaanvraag wordt gelogd en telt mee in de eindscore. De technische basis is een M5Stack-device (ESP32 met scherm, accu en IO-pinnen) in combinatie met een RFID 522-lezer.
Benodigdheden projecthardware
Voor dit project gebruik ik de volgende onderdelen:
– M5Stack Core – ESP32
– RFID 2 Unit – NFC reader
– Grove verbindingskabel
– 10 Mifare NFC-kaarten
– ChatGPT Plus abonnement
– Arduino IDE
– M5Stack Library


Functionaliteit van het apparaat
De M5Stack leest automatisch RFID-kaarten via I2C en toont het aantal keer dat elke kaart is gescand. Elke unieke kaart, die hoort bij een team, heeft een teller die bij elke scan oploopt. Na vijf scans wordt de teller gereset en klinkt er een hogere pieptoon. Knop A reset alle tellers tegelijk en knop C schakelt de M5Stack netjes uit. Op het scherm wordt steeds de lijst met gescande kaarten en tellers getoond, inclusief een logo onderaan.


Complexiteit van embedded code
Het programmeren van een embedded processor met OLED-scherm, een externe NFC-lezer en seriële communicatie vraagt aardig wat tijd en vereist de nodige ervaring. Ik gebruik waar mogelijk bestaande libraries, maar die zijn niet altijd compatibel – wat regelmatig compileerfouten oplevert. Ik heb ook een PNG-logo dat geïntegreerd moet worden als onderdeel van de escape-roominterface. Ook beschikt de M5Stack standaard over drie knoppen en een speaker voor audiofeedback. Deze ga ik inzetten voor interactie met de fysieke wereld. Knoppen voor reset en audio voor bevestiging van een correcte scan en bij een gehaald maximum aantal hint een geluid waarmee duidelijk gemaakt wordt dat de limiet bereikt is.

Stapsgewijs ontwikkelproces
Ik volg een stapsgewijze ontwikkelmethode. Voor ik code schrijf, noteer ik de gewenste functionaliteiten. Die werk ik stap voor stap uit, met versiebeheer om altijd terug te kunnen naar een stabiele versie:
– V1_M5StackCoreRFID : Basisverbinding M5Stack en ESP32
– V2_M5StackCoreRFID : RFID I2C-integratie
– V3_M5StackCoreRFID : Uitlezen van NFC-kaarten
– V4_M5StackCoreRFID : Tellerlogica per kaart
– V5_M5StackCoreRFID : Audiofeedback bij herkenning
– V6_M5StackCoreRFID : Layout voor weergave op scherm
– V7_M5StackCoreRFID : Integratie van PNG-logo
– V8_M5StackCoreRFID : Interfaceknoppen voor reset en uitschakelen
– V9_M5StackCoreRFID : Functioneel testen
Fouten oplossen met AI
Tijdens het programmeren maak ik waar mogelijk gebruik van handige bibliotheken en voor het definieren van de variabelen en constanten houd ik een lijst bij. Bij elke incrementele versie-stap loop ik tegen onvolkomenheden en foutjes aan – van een verkeerde komma tot een foutieve bibliotheekaanroep. Die geef ik door aan ChatGPT, dat mij helpt bij het vinden van de oorzaak én de oplossing. Handig aan het GPT-4o model is dat ik het denkproces live kan volgen. Zo krijg ik inzicht in hoe mijn vraag wordt geïnterpreteerd en leer ik mijn vraagstelling te verbeteren. Met ChatGPT Plus kan ik onbeperkt vragen stellen en antwoorden ontvangen, zonder limieten.


Efficiëntie en leerwinst
Dankzij ChatGPT Plus is mijn ontwikkeltijd voor escape room applicatie met zeker 50% verkort. Belangrijk blijft dat je zelf verstand van zaken hebt en weet hoe je goede vragen aan ChatGPT stelt. Niet elk antwoord is direct juist, maar door vragen te herformuleren en de code zorgvuldig te testen, is het me gelukt om binnen beperkte tijd een werkende Proof Of Concept neer te zetten.