GertDuino Review – Bridging Raspberry Pi and Arduino
Designed to bring Arduino compatibility to the Raspberry Pi, has the design of the GertDuino benefited from its predecessors’ critical reception?
Compatibility: All Raspberry Pi Models
Processors: Atmel ATmega328, ATmega 48
Dimensions: 85mm x 57mm x 26mm (excluding Raspberry Pi)
Weight: 34g (excluding Raspberry Pi)
Connectivity: 15 Digital IO Pins (6 PWM), 6 Analogue Input Pins, IrDA, 2x Push Buttons, 6x Buffered LEDs
Extras: Real-Time Clock, Battery Backup (ATmega 48 only), RS232 Level Converter
The stand-out feature of the Raspberry Pi that lifts it above rival devices like the APC Rock and standard PCs is its general-purpose input-output (GPIO) header. Designed to interface with add-on boards and home-brew electronics projects, it offers a wealth of potential – but could be improved.
The Gertboard, by engineer Gert van Loo, was one of the first attempts to achieve that ‘better’ by protecting the GPIO header against shorts, adding additional capabilities and even promising Arduino compatibility. Sadly, a high price, fiddly assembly process and inadequate documentation let the device down.
Now, van Loo is back with a second crack of the whip: the GertDuino. Based around the microcontroller portion of the original Gertboard, the GertDuino is simpler, cheaper and significantly smaller.
The board itself is cleverly designed to give the Raspberry Pi full support for the many add-on ‘Shield’ boards designed for the Arduino microcontroller project. As a result, the top is dominated by two rows of female headers in the Arduino’s peculiar offset pitch for immediate plug-and-play compatibility.
Well, not quite ‘immediate.’ Like the Gertboard before it, the GertDuino requires some configuration before you can use it with a Pi. The documentation, a 30-odd page PDF, is ostensibly provided to walk newcomers through the process – but does so by sending them on a chase through various sub-sections. Eventually, users are shown how to alter the configuration of the Pi to support the GertDuino then set the fuses on the supplied ATmega328 microcontroller – something done at the factory on a genuine Arduino board – before hand-compiling and uploading an example program.
Reading further into the manual, it’s possible to configure the Arduino IDE software to work with the GertDuino directly – a much more attractive proposition. A script is provided which automates most, but not all, of the process of installing customised software packages and modified board definition files. There, the manual abandons the user – and leaves it up to them to find out through experimentation that uploading only works when the Arduino IDE is configured to use the Raspberry Pi as an in-system programmer (ISP) rather than directly as with a true Arduino.
These hassles – combined with a sensitive serial implementation which doesn’t take kindly to timing changes brought about by overclocking the Pi’s processor through the Turbo Mode menu – really detract from the experience. Painful, too, is the process of shifting jumpers – supplied with the board – to communicate with the GertDuino’s various sub-sections, while the use of any Arduino Shield that relies on serial communications requires the use of jumper straps – not included – which then get in the way of the Shield’s mounting.
It’s a shame that more effort hasn’t been put into the documentation of the GertDuino, because – jumper positioning aside – its technical design is impressive. As well as the ATmega328 microcontroller, which gives the GertDuino full compatibility with anything designed for the common Arduino Uno, the board includes an ATmega48 which provides the Pi with a real-time clock, interrupt-based sleep, infra-red communication capabilities and additional IO – although some features require the installation of a button-cell battery, again not included with the board. The top of the board also includes some built-in inputs and outputs, offering a pair of buttons and six LEDs to get users started.
For those willing to program the GertDuino’s microcontrollers directly, there’s a lot of power in the board; for beginners unwilling to spend some considerable time fighting the documentation, however, it offers little above a cheaper Arduino Leonardo or Uno beyond saving a USB port on the Pi.
The GertDuino is certainly more compact than its predecessor the Gertboard, but a reduction in size has sacrificed many features. Poor documentation is the GertDuino’s real killer, although if you can fight through the initial learning curve you’re left with an extremely powerful add-on for the Pi.