De Arduino® Plug and Make Kit™ introduceert een nieuwe manier van snel prototypen met Arduino door uitbreidingsmodules in serie te schakelen op een I²C-bus. Gericht op zowel beginners als makers, stelt het nieuwe concept de gebruiker in staat om snel slimme, cloud-gebaseerde IoT-toepassingen te creëren.

Het oorspronkelijke Arduino-concept ontstond ongeveer vijftien jaar geleden. Het is gebaseerd op een microcontrollerbord met uitbreidingsborden (zgn. shields) die er bovenop worden geprikt. Een shield voegt functionaliteit toe in de vorm van bijv. een sensor, een motordriver, een relais, of iets heel anders, zoals een display. Shields kunnen op elkaar worden gestapeld om een compact microcontrollersysteem te creëren. Dit maakte en maakt Arduino nog steeds praktisch voor het snel testen van toepassingen. In de loop der jaren zijn er honderden, zo niet duizenden, shields gemaakt door Arduino-gebruikers.

De opkomst van I²C

Technologie blijft echter evolueren, en de I²C-bus, een wat stoffige en vergeten communicatiebus toen Arduino werd geboren, is sindsdien de facto standaard geworden voor het verbinden van allerlei componenten met microcontrollers. Tegenwoordig is er een overvloed aan I²C-gebaseerde uitbreidingsmodules beschikbaar, waarmee je snel toepassingen kunt bouwen door ze aan de I²C-poort van de microcontroller te koppelen.

Met de tijd mee

De Arduino UNO heeft altijd al een I²C-poort gehad. Aanvankelijk was het een functie dat toevallig beschikbaar was dat later eigen pinnen op de uitbreidingsheader kreeg. In de nieuwste versie, de UNO R4 WiFi, kreeg de I²C-poort ook een eigen connector (compatibel met de Qwiic-specificatie van SparkFun). Met hun nieuwe Plug and Make Kit heeft Arduino nu de I²C-methode voor snel prototypen volledig omarmd. Het stapelen van shields is natuurlijk nog steeds mogelijk.

Plug and Make Kit

arduino plug and make kit daisy chained
Figuur 1: Modulino worden aan elkaar gereigd en communiceren over I2C.

De Plug and Make Kit is gebaseerd op de Arduino UNO R4 WiFi en een familie van uitbreidingsmodules genaamd Modulino (let op dat het meervoud geen ‘s’ krijgt). Een Modulino biedt een functie zoals een sensor, een knop, één of meer LED's, enz. Op het moment van schrijven zijn er zeven: Buttons, Buzzer, Distance, Knob, Movement, Pixels, en Thermo. Modulino worden niet aangesloten op de shield-uitbreidingsconnectoren, maar in plaats daarvan verbonden met de Qwiic I²C-poort van de UNO R4 WiFi. Modulino kunnen in serie worden geschakeld om complexere toepassingen te creëren (Figuur 1).

Cloud-ondersteuning en IoT

Hoewel vergelijkbare systemen al enkele jaren bestaan, gaat de Arduino Plug and Make Kit iets verder. Ten eerste, gezien de educatieve oorsprong van Arduino, wordt de Plug and Make Kit ondersteund door een cloud-gebaseerde leeromgeving. Dit is niet alleen bedoeld om de gebruiker snel op weg te helpen, maar het is ook het basiskamp voor de IoT-toepassingen van de gebruiker. Het is duidelijk dat er veel moeite is gedaan om de cloud zo gebruiksvriendelijk mogelijk te maken.

Modulino-functies

Het tweede verschil met andere I²C-gebaseerde prototypingsystemen is dat Modulino-nodes ook kunnen worden gebruikt met andere Arduino-borden en systemen van derden, aangezien de kleine Qwiic-connector kan worden omzeild dankzij een footprint voor een vierwegs 0,1"-pitch connector. Daarom, indien nodig, kun je eenvoudig een Modulino op een ander systeem aansluiten door een paar draadjes te solderen (houd er rekening mee dat Modulino op 3,3 V draaien).

Nog een microcontroller?

Een derde interessant verschil is dat een Modulino met een component dat van nature geen I²C-poort heeft, zoals een drukknop of een buzzer, is uitgerust met een STM32C011F4 Arm Cortex-M0 microcontroller om de I²C-poort toe te voegen. Enkele pinnen van deze controller zijn toegankelijk via een rij contacten aan de zijkant van de Modulino. Zo'n Modulion kan daarom stand-alone werken of de hoofdcontroller zijn in een Modulino-keten.

Toch stapelen

modulino stack
Figuur 2: Modulino kun je ook stapelen.

Ten slotte heeft Arduino het stapelconcept niet volledig laten vallen, want Modulino kunnen ook worden gestapeld. Dit is mogelijk omdat ze allemaal dezelfde footprint (of vormfactor, als je wilt) hebben met de eerder genoemde soldeerbare I²C-poort op dezelfde positie. Zo kun je een klein, gestapeld apparaatje maken dat bijvoorbeeld bestaat uit Buttons, Buzzer, Movement en Thermo Modulino (Figuur 2). Het programma kan draaien op de controller van Buttons of Buzzer (of op beide).

Aan de slag

Om aan de slag te gaan met hun nieuwe concept, heeft Arduino een kit samengesteld met een Arduino UNO R4 WiFi, de zeven hierboven genoemde Modulino en een Modulino Base. Deez laatste is een vierkant bord van 14 cm bij 14 cm waarop je de UNO R4 WiFi en de Modulino monteert die je nodig hebt voor je toepassing. Schroeven, moeren en vier afstandhouders zijn inbegrepen. De kit bevat ook Qwiic-verbindingskabels en een USB-C-kabel (met een USB-C-naar-A-adapter, niet getoond in Figuur 3).

arduino plug and make kit contents
Figuur 3: De uitgepakte Plug and Make Kit. De USB-C cable is niet zichtbaar.

Kwaliteit zit in details

Arduino besteedt veel tijd en moeite aan ontwerpkwaliteit, uiterlijk en details, en de Plug and Make Kit is daarop geen uitzondering. Je merkt het zodra je de doos opent. Alles ziet er keurig uit, past perfect en niets lijkt goedkoop. Bijvoorbeeld, de knop op de Knob Modulino is een mooie knop. De opdruk op de printjes is duidelijk leesbaar. Alle bordjes hebben een oriëntatiemarkering (een witte hoek). De kartonnen ondersteuning voor de Modulino Base heeft gaten en knipmarkeringen, zodat je deze kunt gebruiken om je opgebouwde project op te bergen in de doos waarin het werd geleverd (Figuur 4).

project stored
Figuur 4: De verpakking van de kit kan gebruikt worden om het opgebouwde systeem in op te bergen.

PCB kunst

Als electronicus met een sterke interesse in printontwerp, viel me het ontwerp op de achterkant van de Modulino Base meteen op (Figuur 5). Het heeft een kleurrijk geometrisch patroon opgebouwd uit vierkanten. De kleur van een vierkant wordt bepaald door de vertinde koperlaag, het soldeermasker en twee zeefdruklagen in plaats van een kleurenzeefdruk te gebruilen (wat sommige printfabrikanten tegenwoordig aan bieden). Sommige kleuren worden verkregen door lagen te “mengen”. Ik vind het erg leuk gedaan.

modulino base back side
Figuur 5: De achterkant van de Modulino Base is een klein kunstwerkje.

Modulino Base-ruimte is een beetje krap

Alle Modulino-nodes kunnen met elkaar worden verbonden, maar geen enkele van de voorbeeldprojecten gebruikt ze allemaal tegelijk. Daarom lijkt de basisplaat een beetje krap als je probeert om alle zeven Modulino tegelijkertijd te monteren en aan te sluiten (Figuur 6). Om dezelfde reden zijn er niet genoeg bouten (24) en moeren (20) om alle 36 bevestigingsgaten (inclusief de vier afstandbussen) vast te zetten. Dit is echter geen probleem, aangezien twee bouten per Modulino en UNO R4 WiFi voldoende zijn. Denk erom dat als je een project doet met alle zeven Modulino, je er twee in een hoek aan een afstandbus moet bevestigen. Als alle zeven Modulino op de Base zijn gemonteerd, is het aansluiten ervan een beetje een uitdaging, aangezien de ruimte krap is. Zoals eerder gezegd, het kan, maar gemakkelijk is het niet.

fully populated base
Figuur 6: Zeven Modulino op de Base is wat aan de krappe kant.

Plug and Make Kit in de cloud

Na het aansluiten van mijn volledig opgebouwde Plug and Make Kit op mijn computer opende ik het Arduino Plug and Make content platform in de browser. Om toegang te krijgen moet je inloggen op je Arduino Cloud-account. Als je er geen hebt, kun je gratis een account aanmaken.

In de cloud klikte ik op Welcome (Figuur 7). Dit leidde me door het instelproces van mijn kit, of, beter gezegd, de UNO R4 WiFi. Ik ondervond geen noemenswaardige hindernissen en ging verder met het importeren van mijn eerste template. Ook dit ging soepel en ik had al snel een kleurrijke regenboog op mijn Pixels Modulino. Door aan Knob te draaien, ging de regenboog omhoog en omlaag en bewoog ook het streepjespatroon op de LED-matrix van de UNO R4 WiFi naar links of naar rechts. Het enige dat ik heb moeten typen om dit voor elkaar te krijgen, waren de inloggegevens voor mijn Wi-Fi-netwerk.

arduino plug and make cloud getting started main page
Figuur 7: De startpagina van de Plug and Make Kit in de Arduino Cloud.

Overigens is het interessant om zich af te vragen waarom ik deze demo kreeg voorgeschoteld en niet een andere, want er zijn zes verschillende (Figuur 8). Je kiest een demo door twee Modulino's uit een lijst van mogelijke combinaties aan te sluiten. Omdat ik alle zeven had aangesloten, had ik elke mogelijke combinatie geselecteerd. De demo die ik kreeg is de laatste in de lijst (ook toevallig...).

demo list
Figuur 8: Welke Getting Started demo je precies krijgt hangt van de gebruikte Modulino combinatie af.

Een project uitproberen

Nu was het tijd om een echt demo-project uit te proberen. Er zijn er zeven, en ik koos de Sonic Synth. Voor elke demo wordt een schatting gegeven van de tijd die nodig is om een project te voltooien. Sonic Synth duurt ongeveer 35 minuten.

Sonic Synth gebruikt slechts vier Modulino (Buttons, Buzzer, Knob en Pixels), maar ik probeerde het (uiteraard) met alle zeven tegelijk. Om de demo te laden, moet je de bijbehorende template importeren, loskoppelen van het huidige project en de UNO◦R4◦WiFi aan de nieuwe template koppelen. Dit betekent dat je je netwerkinloggegevens opnieuw moet invoeren. Nadat ik alle stappen had doorlopen, gebeurde er niets. Geen geluid. Na het verwijderen van de overbodige Modulino en het opnieuw opstarten van de kit, was er nog steeds geen geluid.

Opgelost

Het opnieuw laden van de template was niet mogelijk omdat ik mijn limieten van het gratis cloudplan had bereikt. Het verwijderen van de eerste demo-template loste dit probleem op. Nadat ik de projectstappen opnieuw had doorlopen, kreeg ik eindelijk geluid bij het indrukken van de drukknoppen. De frequentie en duur van de toon worden geregeld door schuifregelaars op het clouddashboard. Hoewel aan het begin van het project vermeld, komen Knob en Pixels pas in de tweede stap van het project in actie.

Gebruikerservaring

Het prutsen met deze demo liet me twee dingen zien:

1. Met de Plug and Make Kit is het doel om binnen enkele minuten een slim verbonden gadget te bouwen zonder voorkennis over IoT en programmeren. Hoezeer Arduino het systeem ook heeft vereenvoudigd, als er iets misgaat moet je toch bereid zijn om in de cloudomgeving te duiken om aanwijzingen en manieren te vinden om het probleem op te lossen.

2. Persoonlijk vind ik de Modulino Base eerder een hindernis dan behulpzaam bij het experimenteren en spelen. In een klaslokaal kan het helpen om de hardware te beschermen, maar het herconfigureren van het systeem is een beetje vervelend. Kortere boutjes zouden al helpen, maar ideaal zou een soort kliksysteem zijn. Bovendien is de UNO R4 WiFi te ver naar rechts geplaatst voor de korte Qwiic-kabels. Daarom heb ik Base maar aan de muur gehangen om te bewonderen.

Klassiek Arduino

De Arduino Plug and Make Kit is gericht op cloud-connected IoT-toepassingen. Achter de Arduino Cloud schijnt de Arduino-programmeeromgeving. Je kunt de broncode van je toepassingen bekijken en wijzigen op het Sketch-tabblad. Als je dit doet voor de Sonic Synth zie je een tamelijk eenvoudige Arduino-sketch die een Modulino-bibliotheek importeert (Figuur 9). Deze bibliotheek is ook beschikbaar in de bibliotheekbeheerder van de klassieke offline Arduino IDE. Daarom ben je niet verplicht om cloudgebaseerde IoT-toepassingen te ontwikkelen met de Plug and Make Kit. Je kunt ermee doen wat je wilt.

sonic synth sketch
Figuur 9: Een Modulino bibliotheek wordt geïmporteerd aan het begin van de Sonic Synth sketch.

Concurrentie

Zoals aan het begin van dit artikel gezegd, is het concept van de Arduino Plug and Make Kit niet nieuw, maar het voegt een paar interessante dingen toe. Waarschijnlijk het eerste I²C-gebaseerde prototypingsysteem is Grove van Seeed Studio (het is eigenlijk wat meer). Het grootste probleem van het Grove-systeem is de niet-standaard connector met een pinafstand van 2 mm. Grove is gekopieerd door andere fabrikanten, die allemaal de Grove-connector hebben vervangen door hun eigen niet-standaard of moeilijk te solderen/kabelen/vinden connector. Voorbeelden zijn Adafruit's Stemma en Sparkfun's Qwiic, maar er zijn er meer. Arduino heeft de community een dienst bewezen door de Modulino-nodes ook uit te rusten met een normale (lees: maker-toegankelijke) I²C-connector naast een Qwiic-connector.

BBC micro:bit?

Tijdens het spelen met de Plug and Make Kit moets ik steeds denken aan de BBC micro:bit. Dit is een kleine microcontrollerbordje ontworpen om kinderen kennis te laten maken met programmeren en elektronica. Het richt zich op een nog jonger publiek (vanaf 10 jaar) dan de Plug and Make Kit (14 jaar en ouder). Beide borden/systemen hebben vergelijkbare functies: een Arm Cortex-M4 microcontroller, draadloze mogelijkheden, een LED-matrix, verschillende sensoren aangesloten op een I²C-bus, een buzzer, drukknoppen en cloud-gebaseerde programmeeromgeving en IoT-toepassingen. Het belangrijkste verschil is dat de BBC micro:bit dit alles integreert op een enkel printje, terwijl de Plug and Make Kit bestaat uit acht printjes (de Base niet meegeteld). Dus als je iets kleiners zoekt, kijk dan eens naar de BBC micro:bit.

Nieuwe manier om Arduino te doen

De Arduino Plug and Make Kit introduceert een nieuwe manier om Arduino te gebruiken. In plaats van shields op een moederbord te stapelen, worden de uitbreidingsmodules (Modulino) in serie geschakeld op een I²C-bus. Deze bus wordt geleverd door een Arduino UNO R4 WiFi. Een Modulino Base is inbegrepen voor het bevestigen van de verschillende Modulino en de UNO R4 WiFi, waardoor een transporteerbaar systeem ontstaat.

De Plug and Make Kit is een typisch Arduino product: esthetisch en hoogwaardige hardware en software (ook al was het nog niet 100% klaar op het moment van schrijven omdat dit voor de officiële product lancering was). De kits is gericht op elektronica-beginners, hobbyisten en makers, en wordt ondersteund door een aanzienlijke hoeveelheid online documentatie, voorbeeldprojecten en tools in Arduino Cloud.

De nieuwe Modulino-productlijn heeft volgens mij wel potentieel, vooral als ondersteuning wordt toegevoegd voor de STM32-microcontroller die op sommige ervan wordt gebruikt (bijv. schema's, bibliotheken en, waarom niet, een bootloader). Arduino is van plan om in de toekomst meer Modulino-nodes uit te brengen, maar kan op dit moment nog geen details vrijgeven. De concurrentie is hevig in de I²C-arena.