De buitenkeuken die nét iets meer werd dan een buitenkeuken
Na ruim een jaar bouwen is het tijd om eindelijk eens iets terug te doen voor Tweakers. Na veel geconsumeerd te hebben op Tweakers nu maar eens wat terug doen.
Wat begon als een buitenkeuken eindigde ergens tussen een meubelstuk en een kleine machine. In dit topic neem ik jullie mee door het complete project, inclusief de fouten, de oplossingen en alle keuzes die onderweg zijn gemaakt. Dit project begon met een vrij eenvoudige opmerking van mijn vrouw: “Kunnen we geen buitenkeuken maken?” Dat leek me een mooi project voor de winter. Achteraf gezien had ik die planning misschien iets kritischer moeten bekijken
Eerst ontstond het idee om de pizzaoven volledig uit het zicht te laten verdwijnen wanneer hij niet gebruikt wordt. Ook moest het werkblad automatisch kunnen uitschuiven. Vervolgens leek het me leuk om alles met een Arduino aan te sturen. En als je dan toch een Arduino gebruikt, kun je er net zo goed een touchscreen, een vingerafdruksensor en een koppeling met Homey aan toevoegen. Voor ik het wist was ik niet langer een buitenkeuken aan het bouwen, maar iets wat toevallig ook gebruikt kan worden om pizza’s te bakken.
De uitgangspunten
Voordat de eerste plank werd gezaagd, had ik een redelijk duidelijk beeld van wat de buitenkeuken moest worden. Niet alles stond al vast, maar de belangrijkste uitgangspunten wel. De basis moest uit massief eiken bestaan, gecombineerd met Tricoya MDF voor de panelen en deuren, vanwege de weersbestendigheid. Daarnaast wilde ik een vaste Ooni-pizzaoven integreren. Omdat ons huis volledig gasloos is, viel een uitvoering op gas direct af. De oven moest elektrisch zijn én volledig uit het zicht kunnen verdwijnen zodra hij niet gebruikt werd. Verder moest er voldoende opbergruimte komen voor de Green Egg en alle barbecue-accessoires. En als ik dan toch bezig was, kon de complete besturing net zo goed door een Arduino verzorgd worden.Het belangrijkste uitgangspunt was echter veiligheid. De keuken bevat meerdere krachtige lineaire actuatoren en een uitschuivend werkblad. Dat betekent dat een softwarefout nooit mag kunnen leiden tot een volgende beweging als de vorige nog niet volledig is afgerond. Daarom heb ik ervoor gekozen om niet alleen softwarematig te controleren of iedere stap succesvol is uitgevoerd, maar dit ook hardwarematig af te dwingen. Ik had weinig zin om ooit een pizzaoven door een werkblad heen te zien duwen omdat ergens een stukje software besloot dat het wel een goed idee was om alvast met de volgende beweging te beginnen of dat iemand zijn/haar vingertopje mist
Pas wanneer een actuator zijn eindpositie daadwerkelijk bereikt en een eindschakelaar fysiek wordt bediend, krijgt het relais voor de volgende beweging spanning. Met andere woorden: de software mag nog zo overtuigd zijn dat alles goed is gegaan, zonder fysieke terugkoppeling gebeurt er simpelweg niets. Juist die hardwarematige fail-safe gaf me een veel beter gevoel dan uitsluitend vertrouwen op software.
Daarnaast heb ik een ACS712-stroomsensor toegepast om overbelasting van verschillende aandrijvingen te detecteren mocht iemand met zijn vinger ergens tussen komen. Dat leek vooraf vrij eenvoudig, maar in de praktijk bleek het verrassend lastig om betrouwbare grenswaarden te bepalen zonder voortdurend last te hebben van ruis en variaties in de stroomopname. Uiteindelijk werkt het naar tevredenheid, maar daar zijn behoorlijk wat testuren in gaan zitten.
Gebruikte componenten
Omdat ik tijdens de bouw regelmatig de vraag kreeg welke onderdelen ik heb gebruikt, hieronder een overzicht van de belangrijkste componenten.Hoofdcontroller & displays - Arduino Mega 2560 - Nextion 4.3” Edge HMI (touchdisplay) - ESP32 DevKit V1 (WiFi/MQTT-brug)
Beveiliging - Vingerafdruksensor (R307 / AS608, Adafruit-compatibel) - Sleutelschakelaar (manual override)
Werkblad - Hanpose HPVB45 lineaire module slider — NEMA 23 5628, stroke 700 mm - DM556T stappenmotor driver - 2× fotocel / optische eindschakelaar (Amazon/Conrad) - 1× inductieve nabijheidsschakelaar (Amazon/Conrad) - 1× micro-eindschakelaar (Amazon/Conrad)
Werkbladdeksel - Lineaire actuator 24V DC, merkloos (Amazon/AliExpress) - 2× fotocel / optische eindschakelaar (Amazon/Conrad) - 1× micro-eindschakelaar - ACS712-05B stroomsensor (overcurrent-detectie)
Hefplateau - Lineaire actuators 24V DC met Hall-feedback - 2× eindschakelaar hoog/laag (Amazon/Conrad) - Firgelli FCB-1 control board
Relais & overig - Motorrelais (meerdere, generiek 24V, Amazon/Conrad) - Solenoid + relais (vergrendeling, Amazon/Conrad)
Voeding - Meanwell 24V - Meanwell 5V
Domotica - Homey Pro - Mosquitto MQTT-broker (op Synology NAS)
En hout, rvs, staal, mdf en Hammerite 😉
Het begon eigenlijk heel normaal…
Zoals zoveel projecten begon ook deze met een rolmaat, een rol afplaktape en de overtuiging dat dit “wel een winterprojectje” zou worden. Dat bleek een lichte misrekening. Gelukkig was er wél een mechanisch ontwerp in Fusion 360. De constructie had ik vooraf behoorlijk uitgewerkt: ik wist hoe de oven moest bewegen, waar de geleidingen moesten komen en hoeveel ruimte ik ongeveer nodig had voor alle mechanische onderdelen. De besturing was een ander verhaal. Hoewel ik voldoende affiniteit heb met besturingstechniek en een technisch beroep heb, had ik nauwelijks ervaring met Arduino of ESP’s. Dat stond al jaren op mijn lijstje om eens mee aan de slag te gaan. Achteraf gezien was het misschien niet de meest logische keuze om dat meteen in een project van deze omvang te doen, maar daar kwam ik pas later achterEerst de basis
Zoals bij ieder bouwproject begint ook dit met de fundering. Zonder een stijve en vlakke basis heeft de rest weinig zin, zeker niet als je later met lineaire geleidingen, actuatoren en een uitschuivend werkblad gaat werken. Op de veranda heb ik daarom eerst ruimte vrijgemaakt om de complete basisconstructie op te bouwen. Omdat mijn veranda al op heipalen en een betonnen vloer staat, was de fundering maken niet zo ingewikkeld.
Voor de oplettende kijker ligt er ook alvast een extra voedingskabel. Omdat ik vooraf al wist dat de oven behoorlijk wat elektrisch vermogen zou vragen, heb ik direct een extra groep vanuit de meterkast aangelegd. Achteraf een goede keuze, want later nog een kabel trekken was een stuk lastiger geweest.
De eerste contouren
Na de fundering kon eindelijk de opbouw beginnen. Eerst de houten basis, daarna de eerste panelen, en langzaam begon zichtbaar te worden wat de afmetingen van de keuken uiteindelijk zouden worden.


Tot dat moment verliep alles eigenlijk verrassend soepel. Dit zijn de werkzaamheden waar ik me thuis voel: meten, zagen, passen, schroeven, en af en toe iets opnieuw maken omdat het nét niet mooi genoeg is. Heel even begon ik zelfs te denken dat het project volgens een soort van planning zou verlopen.
De pizzaoven en de heftafel
Het hart van de buitenkeuken is eigenlijk de pizzaoven. Omdat ik een zo groot mogelijk werkblad wilde hebben, moest de oven volledig uit beeld kunnen verdwijnen wanneer hij niet gebruikt wordt.Dat betekende dat de oven niet alleen omhoog en omlaag moest kunnen bewegen, maar dat dit ook betrouwbaar moest gebeuren. Een paar millimeter scheefstand lijkt misschien weinig, maar met een behoorlijk gewicht op het plateau kan dat snel problemen opleveren.
Mijn eerste idee was om één lineaire actuator te gebruiken. Door het zwaartepunt van de oven goed te bepalen zou dat theoretisch moeten kunnen werken. Hoe verder ik echter met het ontwerp kwam, hoe minder vertrouwen ik daarin kreeg. De kans op wringen of scheeftrekken vond ik simpelweg te groot.
Uiteindelijk heb ik daarom gekozen voor vier lineaire actuatoren met Hall-feedback. Die worden aangestuurd door een Firgelli FCB-1-controller, waardoor alle vier de actuatoren continu synchroon blijven lopen. Dat was duurder dan de oorspronkelijke opzet, maar wel een keuze waar ik achteraf absoluut geen spijt van heb.


Het elektronicakastje… of toch niet
Voor de besturing had ik in eerste instantie een bescheiden kastje ontworpen. Een Arduino R4 leek me meer dan voldoende, en ik was ervan overtuigd dat ik ruimte over zou houden.
Dat bleek ongeveer net zo’n goede inschatting als de planning waarmee ik aan het project begon. Na iedere nieuwe functie kwam er weer een relais bij, een buck converter, level shifter of een sensor. Of een printje waarvan ik vooraf nog niet wist dat ik het nodig zou hebben.

Uiteindelijk verdween de Arduino R4 en maakte plaats voor een Mega 2560. Niet omdat de rekenkracht tekortschoot, maar simpelweg omdat het aantal I/O-pinnen en de fysieke ruimte op de print veel beter bij dit project pasten. En daarmee groeide ook de technische ruimte langzaam uit tot iets waar ik achteraf een heel andere indeling voor zou kiezen.
Op de eerste foto’s was nog een relatief bescheiden schakelkast te zien. Daar zou alles in moeten komen Iedere nieuwe functie betekende echter weer een extra printje, een extra relais, een voeding, een zekering of een sensor. En iedere keer dacht ik opnieuw: “dit is echt de laatste uitbreiding.”

En toen begon het echte programmeren
Tot dit project had ik nauwelijks met Arduino en/of ESP's gewerkt. Dat betekende dat vrijwel alles nieuw was: seriële communicatie, interrupts, timers, state machines, debouncing, PWM, MQTT. Eigenlijk heb ik mezelf tijdens dit project stap voor stap leren programmeren. Dat ging eerlijk gezegd met wisselend succes. Soms zat ik een hele avond naar een fout te zoeken die uiteindelijk een ontbrekende puntkomma bleek te zijn. Soms bleek een probleem veel fundamenteler en moest de complete softwarestructuur op de schop. Juist dat maakte het project uiteindelijk veel groter dan ik vooraf had verwacht, maar stiekem ook wel weer leuk.Toen de complete besturing eindelijk betrouwbaar werkte (ik was in de avonduurtjes wel een par maanden verder, vooral om ook een "schone" code te maken met functieblokken en goede toelichting) dacht ik heel even dat ik er bijna was. “Nog even een touchscreen aansluiten en dan zijn we klaar.”

Dat bleek ongeveer net zo’n realistische planning als mijn oorspronkelijke idee dat dit een winterprojectje zou worden. Het Nextion-scherm begon als een eenvoudige bedieningsinterface, maar groeide uiteindelijk uit tot een project op zichzelf, compleet met verschillende bedrijfsmodi, foutmeldingen, statuspagina’s en een communicatieprotocol met de Arduino. Achteraf gezien had ik dat kunnen verwachten, maar op dat moment leek een paar knopjes op een scherm me nog een middagje werk. Maar ook daar kan ik inmiddels mee uit de voeten.
Verfdrama
De lezer zal denken: hoe moeilijk kan dit zijn? Nou: een siliconenbesmetting vanuit de leverancier van de verfbakjes (bleek gebruikt te zijn als lossingsmiddel in het productieproces van het plastic, ontzettend slordig) maakte het schilderwerk alsnog tot een XL-klus in plaats van het simpele klusje dat het had moeten zijn.
Het eindresultaat
Wat er nu staat: een Arduino Mega 2560 die alle motoren, het Nextion-scherm en de vingerafdruksensor aanstuurt, met een ESP32 die als domme-maar-betrouwbare MQTT-brug naar Homey fungeert. Vijf bedrijfsmodi (Standby, In Operation, BBQ, Pizza, Return), elke beweging met een hardcoded timeout plus 5% marge, en een noodstop-bedieningssysteem met sleutel dat altijd (zonder vingerafdruk) toegankelijk is.
Afhankelijk van de modus wordt een Shelly DIN-relais in de meterkast geschakeld dat de oven van spanning voorziet. Bij het sluiten van de buitenkeuken wordt eerst nog een afkoeltijd voor de oven gerespecteerd, en pas daarna wordt de stroom uitgeschakeld.

Daarnaast hangt er een timer en temperatuursensor op de barbecue, die via een flow in Homey een notificatie geven na x tijd en onder bepaalde voorwaarden (waaronder een stroomafname-drempel van de oven, gemeten via het Shelly-relais) voor het geval we zijn vergeten de barbecue op te ruimen en/of de keuken weer in de return-positie te zetten. Waarom dat niet automatisch gaat? Veiligheid. Ik heb geen behoefte aan een buurkind dat per ongeluk met zijn vingers ergens tussen komt te zitten, ondanks de fotocelbeveiliging en stroommeting.
Uitdagingen
De leukste software-bug om op te lossen was de heartbeat-logica: de Mega stuurt elke 20 seconden een statusupdate naar de ESP32, en zonder edge-detection betekende dat dat Homey-flows iedere 20 seconden opnieuw triggerden. Oplossing: de ESP32 publiceert alleen bij een echte overgang van false naar true, en bij een herverbinding met de MQTT-broker publiceert hij bewust níets, de volgende heartbeat regelt de resync vanzelf.Een andere uitdaging was het synchroon laten lopen van de vier actuatoren van de heftafel. Eerst wilde ik dat rechtstreeks op een Arduino of misschien een dedicated ESP32 oplossen, maar via eBay kon ik gunstig een Firgelli FCB-1 overnemen, waarmee het een stuk eenvoudiger was om de actuatoren synchroon te laten lopen.
En dan was er nog het “oh ja, dat moet er ook nog bij”-effect. Achteraf gezien had ik beter een dinrail-achtige besturing kunnen maken aan de rechterzijkant, onder het gedeelte waar het blad uitschuift. Dan had ik veel makkelijker bij alle componenten gekund, en was alles een stuk overzichtelijker geplaatst geweest. Debuggen en storingen verhelpen zonder fatsoenlijke toegang onder de heftafel was gewoon vervelend prutswerk.
Stand van zaken:
Alles werkt, operationeel. Werkblad, werkbladdeksel, hefplateau, Ooni, vingerafdruk, Nextion-bediening, MQTT-koppeling met Homey……het werkt allemaal.Het enige dat ik nog wil vervangen, zijn de solenoïden die het werkblad vergrendelen in de "extended" positie.. Die zijn hier eigenlijk niet voor geschikt en ik “misbruik” ze een beetje: de ontgrendelkracht is laag, en ik werk nu met een trucje waarbij de stappenmotor eerst een paar pulsen vooruit gaat (om druk van de vergrendeling te halen), waarna de solenoïds intrekken. Daarna moet de benaderingsschakelaar voor “werkblad uit” binnen een bepaalde tijd laag worden, om zeker te weten dat het blad daadwerkelijk los is en aan de retourcyclus is begonnen. Dat werkt niet altijd, en dan gaat de getande riem over de pulley dansen. Dat mag natuurlijk niet te vaak gebeuren, dus dat is nog een TO-DO.
Eindresultaat:Tot in de comments! 🔧
[ Voor 150% gewijzigd door RSV31 op 30-06-2026 15:11 ]