De “Flip & click” van MikroElektronika is een Arduino Due met Arduino Uno R3-compatibele shield-connectors aan de ene kant en vier mikroBus-slots aan de andere kant. De Arduino-kant is Arduino-blauw, de click-kant is wit. De omtrek van de kaart lijkt een beetje op een vlinder en is al even verrassend als de verpakking, die je helemaal moet uitvouwen om de volledige beschrijving van de inhoud te lezen.

Er zijn twee smaken, Arduino en Python, maar omdat het enige verschil tussen die twee in de firmware zit, kan de Arduino-versie worden veranderd in een Python-versie en andersom.

De Flip & click is een Arduino Due en heeft dus een grote 32-bits ARM Cortex-M3 AT91 SAM 3X8E-microcontroller van Atmel (nu Microchip) met 144 aansluitingen als kern. Maar de extra I/O die op een echte Due beschikbaar is, is niet naar buiten gebracht op de Flip & click. Een gedeelte ervan wordt gebruikt voor de mikroBus-slots en andere taken zoals de vier blauwe LED’s op de onderkant; de rest is gewoon niet aangesloten.

Arduino Uno R3 next to Flip & click board

mikroBus

De mikroBus is een gepatenteerde interface-specificatie van MikroElektronika (mikroE). De gedetailleerde specificaties zijn te downloaden van hun website. De interface bestaat uit twee 8-pens voetjes met een penafstand van 0,1” waarop seriële lijnen, I²C- en SPI-lijnen, een analoge input, een PWM-output, reset & interrupt signalen en voedingsspanningen van 5V en 3V3 aanwezig zijn. Natuurlijk kunnen alle pennen, behalve de voedingslijnen, ook werken als universele I/O-lijnen. Deze interface is dus behoorlijk compleet en mikroE heeft er honderden uitbreidingskaarten voor ontwikkeld. En daar komen dagelijks nieuwe bij (echt waar). Veel van die kaarten hebben leuke sensoren, maar er zijn ook GPS -, telefoon- en andere wireless-kaarten, motor- & LED-drivers, enz.

De geheime missie van de Flip & click-kaart is: mensen ervan overtuigen dat de Arduino-manier om een systeem uit te breiden door niet-gestandaardiseerde, potentieel conflicterende shields op elkaar te stapelen, niet de beste oplossing is. Het gaat efficiënter en beter met (waarschijnlijk beter ontworpen) click-kaarten die een gestandaardiseerde interface hebben.

 

Flip & click with GPS click

De vier mikroBus-slots zijn niet helemaal onafhankelijk van elkaar want ze delen samen de SPI-poort. Slots A & B delen de I²C0-bus, slots C & D delen de I²C1-bus en ook UART3 (Serial3 in een sketch, dat is geen tikfout). Slot A deelt UART0 (Serial1 in een sketch, geen tikfout) met de Arduino-shieldconnector, slot B heeft een eigen verbinding met UART1 (Serial2 in een sketch, geen tikfout).

Gebruik als een Arduino Due

Omdat de Arduino Due een Arduino.org-kaart is en geen Arduino.cc-kaart, is de meest geschikte Arduino-IDE voor de Flip & click waarschijnlijk 1.7.11 (op het moment dat we dit schrijven), omdat die geïntegreerde ondersteuning voor de Due heeft. In de 1.6.x-IDE’s, die mikroE aanbeveelt, moet de kaart eerst worden geïnstalleerd met de Boards Manager. Omdat Arduino.cc de Due niet meer ondersteunt levert dat waarschijnlijk een verouderde toolchain op.

In de 1.7.11-IDE zijn twee Arduino Due-kaarten beschikbaar: de “Programming Port” en de “Native USB Port”. Kies de eerste om gebruik te maken van de USB-connector naast de voedingsspanningsconnector, de tweede is voor gebruik met de USB-connector onder de SPI-connector. Als de juiste instellingen zijn gekozen zijn beide methoden te gebruiken voor het uploaden van sketches.

Als we goed naar het schema kijken (mikroE publiceert meestal schema’s van alle kaarten) zien we dat de seriële poort op pennen 0 en 1 van de shield-connector niet hetzelfde is als die die is verbonden met de programmeerpoort (op een echte Due is dat wel het geval). Er is vast wel een goede reden voor, maar het resultaat is dat de Uno-R3-achtige shield-connectors op de Flip & click niet 100% compatibel zijn met de shield-connectors van de echte Arduino Due Uno-R3. Bovendien staan in de componentenopdruk op de Flip & click de pennen 0 en 1 aangeduid als RX0 en TX0 van de seriële poort. Strikt genomen is dat waar, maar in een sketch wordt dat Serial1 genoemd. Dat is op zijn zachtst gezegd een beetje verwarrend. De standaard seriële poort “Serial” communiceert alleen via de USB -programmeerpoort.