Ieder jaar beginnen er in de lage landen tientallen techstart-ups, die grootse dromen hebben, maar technische hobbels moeten overwinnen om die waar te maken. In dit artikel bespreken we waar start-up Picoo zoal tegenaan liep bij het ontwikkelen van een controller voor buitengebruik.
Kinderen zitten tegenwoordig veel te veel binnen, bewegen te weinig, spelen te weinig samen én worden tijdens het spelen vaak buitengesloten. Dat soort geluiden hoor je regelmatig en Iris Soute besloot om tijdens haar PhD-onderzoek aan een oplossing te werken. Met een technisch product, want kinderen zijn in de ban van technologie, dacht ze: een apparaatje zonder scherm, maar met interactieve technologie voor de prikkels waaraan kinderen heden ten dage zo gewend zijn. Technologie en buitenspelen combineren dus, dat was het idee van Picoo. De ontwikkeling van een product voor dat doel kostte echter nogal wat technische hoofdbrekens.
- Bedrijf: Picoo
- Opgericht: 2016, Eindhoven
- Initiatiefnemers: Iris Soute en Daniel Tetteroo
- Product: een controller en gameconsole ineen voor kinderen om mee buiten te spelen
- Productiefase: op de markt, eind 2019 voor scholen en bso's, september 2021 voor consumenten
- Prijs: 250 euro voor een starterspakket met vier Picoos en vijf NFC-kaartjes
:strip_exif()/i/2004779268.jpeg?f=imagenormal)
Het type product waarop Soute uiteindelijk uitkwam, was een soort controller. Maar in plaats van dat je er een game mee bestuurt, is de controller zelf ook de console. Hoewel het apparaat aanvankelijk gewoon een simpel, vierkant kastje was, ontwikkeld door Iris zelf voor haar universitaire onderzoek, gaf een designbureau de Picoo een 'slanke' vorm met bovenop een lichtbolletje dat van kleur kan veranderen.
:strip_exif()/i/2004762140.jpeg?f=imagenormal)
Zie het een beetje als een PlayStation Move-controller, maar in plaats van dat de lichtbol voornamelijk dient voor tracking, is dat verkleurende lichtje de enige visuele indicatie die je tijdens het spelen krijgt. Voor de rest moet je het doen met trillingen, simpele geluidjes en vooral je fantasie. Gebruikmakend van die vier dingen kun je vervolgens verschillende simpele groepspelletjes spelen, zoals Zombie Run, een variant op tikkertje. Daarbij krijgt een van de spelers via een groen lichtje op zijn Picoo-controller mee dat hij de tikker (of 'zombie') is. Anderen zien door middel van een knipperend lichtje dat ze zijn getikt, waarna ook bij hen het bolletje groen wordt en zij moeten helpen met de rest aftikken.
Makkelijke weg

Iris wist samen met Daniel Tetteroo, een voormalig studiegenoot, een startbudget op te bouwen dankzij het winnen van de Sportinnovator Prijs. Daarmee konden ze de controller voorverkopen aan scholen en bso's, en konden ze investeerders vinden. Zo konden ze een bescheiden team bij elkaar brengen van mensen met verschillende expertises, die konden helpen met het verwezenlijken van het prototype. Een van hen is Martijn Stommels, het technisch hoofd van de operatie. Drie jaar geleden kwam hij bij het project, nadat hij vlak daarvoor was afgestudeerd als embedded software engineer. Veel affiniteit met het idee had hij niet: ''Ik heb eigenlijk zelf niets met interactief speelgoed of met kinderen. Ik zit hier puur voor de technische uitdaging.''
Stommels heeft momenteel de technische leiding over het project. Hij stuurt mensen aan en houdt overzicht op technisch, software- en hardwaregebied. Toen de tech voor de eerste versie van de Picoo, Picoo Zero genoemd, bedacht moest worden, had het bedrijf echter nog geen mensen als Stommels in dienst. Daarom werd er toen wat tech betreft nog voor de makkelijke weg gekozen. De meeste onderdelen in het apparaat werden uitbesteed aan een extern bedrijf, dat grotendeels zelf de componenten bedacht voor het apparaatje.

- Dat had zo zijn voordelen, want het ging een stuk sneller en alles werd voor hen bedacht. Het bleek toch niet ideaal; het ontwerpproces was niet efficiënt en het product werd aardig duur. Volgens Soute was dit toentertijd een bewuste afweging. ''We wilden dat het snel op de markt kwam en daarom hebben we wat shortcuts genomen. Zoals het gaat bij een start-up: de kost gaat voor de baat uit en als je daardoor zo snel mogelijk aan de baten kunt komen en omzet kunt genereren, dan doe je dat.''
Afgedragen accu
De eerste productversie van de Picoo was begin 2019 af en werd gestuurd naar scholen en bso's die tijdens de voorverkoop interesse hadden getoond in het product. De spellen sloegen aan, zegt Soute, maar al gauw kwamen de nadelen van de genomen 'shortcuts' aan het licht. Veelgehoorde feedback was dat het product erg duur was. Verder werden er na verloop van tijd wat Picoos teruggestuurd wegens een defecte accu.
Door de grootte van de printplaat paste er geen cilindrische 80x6x50-accu in de behuizing van de Picoo. Daarom werd er een kleinere, 'semicustom' variant besteld. Die bleek duurder, omdat hij op aanvraag gemaakt moest worden, en sleet door zijn krappe positie sneller. De defecte accu's van de teruggestuurde Picoos konden ook nog eens niet worden vervangen. De onderkant van de controller was volledig dichtgelast, dus om hem open te halen, moest het plastic opengebroken worden. Oftewel: door een ontwerpfout ging de Picoo een stuk minder lang mee dan de bedoeling was.
Volgens Stommels was de grootste les in het ontwerptraject dan ook dat er geen communicatie was tussen de personen die het plastic omhulsel ontwierpen en de technici die verantwoordelijk waren voor de elektronica. ''Iris en Daniel gingen eerst naar de plasticmensen. Die hebben mooi de vorm bedacht en daarna moest er nog elektronica ingestouwd worden.'' Er was geen wisselwerking tussen beide groepen. ''Dat geeft aan allerlei kanten problemen'', beseft Stommels achteraf.
Daarom werd eind 2019 besloten om een volledige hardwarerevisie te maken, die behalve voor scholen en bso's ook voor consumenten beschikbaar moest komen. Bij deze nieuwe versie, de Picoo One, ging het bedrijf zélf beslissen welke componenten precies worden gebruikt, om het ontwerp efficiënter te maken, de prijs te kunnen verlagen en de vastgestelde problemen op te lossen. Nu het design al bekend was, konden de componenten immers ook beter afgestemd worden op de beschikbare ruimte. Terug naar de tekentafel, dus.
/i/2004715998.png?f=imagenormal)
Probate printplaat
De printplaat van de revisie moest kleiner en goedkoper, zodat de accu groter kon worden. Stommels haalt ter illustratie de platen van zowel de Picoo Zero als de Picoo One tevoorschijn. ''Links is de printplaat van de Zero. Vrij groot en aan beide kanten best vol. Die van de One, rechts, is kleiner en zit maar aan één kant vol. Daar zitten veel minder componenten in.'' Volgens Stommels hebben de ontwerpers bij de Zero voor een forsere en minder efficiënte printplaat gekozen omdat de doorlooptijd kort was. ''Daarom heeft het bedrijf toen de veilige route gekozen door componenten te pakken waarmee ze al ervaring hadden en waarvan ze wisten dat die het deden.''
Op de plaat van de Zero zaten drie microcontrollers en op die van de One slechts een. ''Door het te spreiden over verschillende microcontrollers was het idee dat er verschillende softwareontwikkelaars tegelijk aan konden werken. Daar ben ik het overigens totaal niet mee eens, want volgens mij is het dan alleen maar meer werk.'' Eén microcontroller was voor de games; de andere twee waren voor randzaken, zoals opladen. ''De gamecontroller communiceert dan met die andere twee. Dat was op zich wel makkelijk voor Picoo toen, want dat had nog geen software-engineers in dienst.''
Om van twee volle kanten één volle kant te maken, moest echter nog meer ruimte worden bespaard. Zo had de vorige Picoo een losse meshchip, die nu is gecombineerd met de ene microcontroller. ''Het ging in eerste instantie om een Arduino Zero. Die is heel handig voor prototypes en dergelijke, want alle ingewikkelde dingen om te beginnen met programmeren, hebben zij al opgelost. Werkt op zich prima, maar als je een ingewikkelde applicatie krijgt, ga je aan alle kanten merken dat hij daarvoor niet echt geschikt is. Alleen al de IDE is niet ontwikkeld om met verschillende bestanden te werken. Het idee is meer dat je alles in één bestand stopt. Als een project steeds groter wordt, schaalt dat niet meer.''
:strip_exif()/i/2004779700.jpeg?f=imagenormal)
De One doet het daarom helemaal zonder Arduino. ''We zijn van nul begonnen met een tool genaamd CMake. Daarmee kun je een bouwomgeving opzetten en het houdt eigenlijk in dat je CMake vertelt: hier staat mijn software en op deze manier moet je die compileren naar een image die door de processor kan worden uitgevoerd. Dat heeft als voordeel dat we ook code kunnen genereren.''
Als je een spel in Arduino wilde toevoegen, moest je eerst ergens de code van het spel zelf neerzetten en dan moest je nog op een aantal verschillende plaatsen in andere code het spel gaan toevoegen. Daar moest dan bijvoorbeeld komen te staan wat het programma moet uitvoeren als het spel start en stopt. ''Nu kunnen we op één plek het hele spel definiëren, met alles erop en eraan. CMake zorgt er dan voor dat er code gegenereerd wordt die de spelcode op de juiste momenten aanroept. Hoe die spellen ingeladen worden, hebben we zelf ontwikkeld, want zoiets bestond helemaal nog niet.'' Stommels vergelijkt het met het programmeren van een lamp. ''Die heeft maar één firmware, daar kun je niet steeds kleine stukjes aan toevoegen die in- en uitgeladen moeten worden. Als je spellen op een console wilt spelen, is dat wel zo.''
Soc-zoektocht
Op basis van de keuze voor Arduino bepaalden de externe makers bij de Picoo Zero welke processor daar het best bij past. Nu het bedrijf is overgestapt, vergde dat dus ook een andere processor: een hele klus. Stommels: ''Eerst maak je een lijst met wat je precies wilt hebben voor je processor. Ik heb een pagina gemaakt op onze interne wiki met een tabel met vereisten. Er moest Bluetooth Low Energy inzitten, er moest een radio inzitten waarmee we kunnen communiceren, USB was een should-have en we wilden graag een Arm-processor.''
/i/2004779810.png?f=imagenormal)
Volgens Stommels werd laatstgenoemde gekozen omdat de softwaresupport daarvoor erg goed is en omdat hij er zelf al mee bekend was. ''Nadat je zo'n lijst gemaakt hebt, ga je gewoon zoeken welke processors aan de eisen voldoen. Je gaat alle websites van bekende namen af en kijkt in hun productportfolio wat ze hebben. Ik had zes socs gevonden, waarvan de Nordic nRF52840 er een was.'' De Nordic nRF52 zit in heel veel dingen. Als je een bluetoothspeakertje hebt, is er een goede kans dat die chip erin zit. De keuze voor de Nordic was ook vooral weer softwaregedreven. ''Nordic heeft een heel mooie sdk, die gebaseerd is op het Zephyr Real-time Operating System.''
Zephyr is een opensourceproject dat is begonnen door de Linux Foundation. Het doel is om Linux voor resource-constrained devices te maken: kleine chips met relatief weinig geheugen waar je normaliter net geen Linux op kunt draaien. ''Daar werden wij wel warm van, vooral omdat het ook door een aantal grote bedrijven gesteund wordt.'' Een daarvan was Nordic en aangezien Picoo een soc van dat bedrijf had uitgekozen, was Zephyr een logische keus. Doordat deze sdk open source is, was er volgens Stommels ook geen risico op vendor lock-in, waarbij je jezelf 'vast kunt programmeren' in het ecosysteem van één bedrijf.
Kaartscankwestie

Wat ook anders moest bij de Picoo One, was de manier waarop de games werden geactiveerd. De spellen staan al opgeslagen op de Picoo zelf, maar door speciale spelkaarten te scannen, weet het apparaat welk er gestart moet worden. Aan de onderkant van de controller zit een tag scanner, waarmee de kaarten gelezen worden. In de eerdere versie werd voor de kaarten gebruikgemaakt van rfid-chips. Kaarten met die chips worden ook voor onder meer hoteldeuren gebruikt. Stommels: ''Het was vrij lastig om daar hardware voor te laten voorprogrammeren, omdat iedereen dacht dat je bij hotels of iets dergelijks ging inbreken.''
Ook bedrukken bleek bij rfid-kaarten lastig. Dat wordt namelijk niet meer door fabrieken gedaan, dus kocht Picoo zelf een stapel stickers, die het handmatig op de kaartjes moest plakken. ''Dat waren ze daar op een gegeven moment een beetje zat, dus nu zijn we overgestapt op NFC.'' Die zijn volgens Stommels namelijk goedkoper en makkelijker te verkrijgen. Alleen worden ook deze kaarten niet voorgeprogrammeerd. ''Normaal willen mensen in ieder kaartje een andere code, maar wij willen bij de kaartjes van Spel X juist allemaal dezelfde code.'' Om die reden moet dat monnikenwerk nu nog steeds handmatig worden gedaan.
Programmeren generaliseren
Het programmeren van Picoo-spellen gebeurt met C++ en is volgens Stommels goed vergelijkbaar met het maken van 'normale' computergames, maar dan met een minder uitgebreide UI. ''De logica programmeren we op dezelfde manier, alleen kun je geen poppetje op het scherm toveren, maar wel bijvoorbeeld de led en trilmotor aan- en uitzetten, en de accelerometer uitlezen, dat soort dingen.'' Waar games api's hebben in de trant van: 'genereer een driehoek op het scherm', heeft Picoo api's van: 'zet het lampje op deze kleur'. ''We zorgen er altijd voor dat de codecomponent voor de UI loszit van die van de spellogica. Dat is handig voor het testen en als je bijvoorbeeld het ledkleurtje wilt veranderen, hoef je dan ook niet alle code door te spitten om dat te zoeken. Ook de spelersrollen delen we op in aparte componenten, zodat iedere rol een eigen component heeft.''
Stommels neemt als voorbeeld het tikkertjespel Zombie Run. ''Dat is een ingewikkeld spel, want het synchroniseren van de data naar alle spelers is een lastig punt. We zijn nu ook bezig om daar iets generieks van te maken, zodat dat ook weer een api wordt waarvan je kunt zeggen: ik heb dit state object, een klein stukje data, en dat wil ik synchroniseren naar alle spelers. In het geval van Zombie Run heb je een eigen codecomponent die de data verzendt. In embedded systems en andere computer science-achtige hoeken heb je iets wat een finite state machine of fsm heet. Zo zitten die spellen eigenlijk in elkaar. Je hebt componenten voor de fsm en componenten voor de UI, en een stukje communicatie tussen die twee.''
:strip_exif()/i/2004715960.jpeg?f=imagenormal)
Picoo Two?
Door tal van productieproblemen, als gevolg van de coronacrisis en componententekorten, gaat de Picoo One pas sinds september de deur uit. Veel feedback van consumenten, scholen en bso's over dit product is er dus nog niet. Volgens Soute is er ook slechts sprake van een soort soft launch: het product is een beetje stilletjes uitgebracht en moet nu nog gemarket worden. Daardoor zijn er momenteel nog 'vrij weinig' Picoo One-exemplaren verkocht, aldus Soute.
Twee jaar na een eerdere versie alweer een compleet nieuwe revisie uitbrengen is wellicht wat snel, maar bleek noodzakelijk door de te hoge kosten en technische problemen die het uitbesteden met zich meebracht. Door grotendeels from scratch te zijn begonnen en zelf daadwerkelijk betrokken te zijn geweest bij het volledige maakproces, denkt Picoo van de eerdere fouten te hebben geleerd en een goede basis te hebben gelegd om nog even vooruit te kunnen. Picoo hoopt daardoor nog eventjes niet aan de Two te hoeven beginnen.