RoadTest: Assembled Gertboard
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: None
What were the biggest problems encountered?:
Assembled Gertboard Review
First of all I'd like to thank Element 14 and their partners for making a Gertboard available to me for review.
Although I've been involved with electronics in some form since I was about eight years old, I am completely new to the Raspberry Pi (RPi) ecosystem. Therefore I've written this review with beginners in mind, I am starting from scratch and detailing everything that I've gone through to get the Gertboard up and running.
The review is broken down into a number of sections starting with a description of what the Gertboard is and what you can do with it.
Next there is a quick start guide to getting the RPi set up with its operating system. Feel free to skip this section if you're already familiar with the RPi.
I'll then go on to unboxing the Gertboard and reviewing its build quality and the items included with it and I'll describe my experiences of trying an example circuit from the Gertboard's documentation / website.
I shall then describe my experiences of programming the on-board microcontroller.
The final section will be a summary of what I've found out about using the Gertboard.
Don't forget that I'm an RPi noob and I have made copious use of internet searches to get me to the next step of my journey and I may well be doing things in a less than efficient way.
Let's get started then!
What is the Gertboard?
Put simply the Gertboard is a very flexible expansion and prototyping board that can be connected to the RPi to enable you to experiment with controlling real world hardware using the RPi's GPIO (General Purpose Input / Output) pins.
Note that there are two versions of the Gertboard: Version 1 is the self-assembly kit and version 2 is the assembled Gertboard which I am reviewing here. There are links to documentation on the web for both versions so ensure that you download V2 related information for this board.
Here is a list of the main functional blocks comprising the Gertboard:
The ATmega 328 microcontroller can be programmed directly from the RPi. Its I/O pins are all available on a header and can be connected to the other functional blocks to make a stand alone project. You'll have to sort out a power supply for this project as the Gertboard normally gets its power from the RPi.
Raspberry Pi Quick Start
Go to: http://www.raspberrypi.org/quick-start-guide to download the 'Quick Start Guide'.
Gather all bits and pieces that the 'Quick Start Guide' recommends.
Download 'SD Formatter' to your PC: https://www.sdcard.org/downloads/formatter_4/eula_windows/
Format SD Card (4Gb+).
Download NOOBS and install it to the SD card as detailed in the 'Quick Start Guide': http://www.raspberrypi.org/downloads
Insert SD card in RPi, connect everything up and switch it on. Install Raspbian when prompted.
When RPi reboots into the configuration utility, enable the 'Boot to Desktop' option and reboot.
For future reference the login details for the Raspbian 'wheezy' OS are: Username: pi Password: raspberry.
If you need to, you can change the Time Zone: 'sudo dpkg-reconfigure tzdata'.
Also change Locale if you are not in the United Kingdom: 'sudo dpkg-reconfigure locales'. Choose en_GB.UTF-8 UTF-8 for English/GB.
Using VNC to avoid extra keyboard, mouse and monitor
To make life easier I will install VNC on the RPi to share my main PC monitor, mouse and keyboard with the RPi. I followed the instructions on this page: http://elinux.org/RPi_Wheezy_VNC
First update the Package Installer: 'sudo apt-get update'
Install VNC: 'sudo apt-get install vnc-server'.
Run VNC server: 'vncserver'.
Follow the instructions to add a server password, confirm the password and say 'no' to the view only option.
On the PC download VNC viewer from: http://www.tightvnc.com/download.php/ go for the Java version.
Download and run 'Advanced IP Scanner': http://www.advanced-ip-scanner.com/ to find the RPi's IP address.
Install VNC viewer on your PC and follow the instructions to connect to the RPi.
It is useful to be able to start the VNC server running on the RPi by logging in to a command line and typing 'vncserver'. You can do this by following the instructions on this page: http://www.hobbytronics.co.uk/raspberry-pi-ssh
Download 'PuTTY' to connect via SSH: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Test that all connections work and that you can view the RPi display on your PC monitor. In the future you can now dispense with the RPi screen, keyboard and mouse.
RPi start sequence when using VNC:
RPi shutdown sequence when using VNC:
What's in the Box?
The Gertboard came packaged in a sturdy, glossy cardboard box. Inside on top there was a CD containing a set of ARM Cortex M development tools from CooCox, a leaflet explaining these tools and the usual safety and compliance leaflet that accompanies most electronic equipment these days.
Underneath a layer of anti-static foam the Gertboard itself was sealed in an anti-static bag along with separately bagged accessories. There were 6x PCB standoff pillars to raise the Gertboard up when connected to the RPi, 10x 18cm female to female jumper wires (or straps in Gertboard terms) and 18x jumper caps for connecting together adjacent header pins on the Gertboard. All of this was surrounded by a generous amount of foam.
Overall the packaging is excellent with no waste and offers very good protection even with the most ham-fisted of couriers.
The first thing that struck me when inspecting the Gertboard was the sheer number of header pins available. None of the functional blocks are connected together which means that you have total freedom when it comes to designing your own projects.
The ATmega 328 microcontroller is in a socket so that it may be programmed and then removed to be used in other projects which could be very useful. Note that the microcontroller is a 3.3V part!
Everything is put together really nicely, all joints look to be well made and the silkscreen layer is clear and readable which is very important for this type of board. All header pins are nice and upright too.
The CooCox tools CD is a nice bonus but a bit out of place with the Gertboard and RPi as they are completely unrelated. A trip to http://coocox.org however reveals a couple of goodies called 'Embedded Pi' and the 'Cookie Board' which do use these tools and should prove to be fun to play with as they unite the worlds of ARM, RPi and Arduino.
There is no documentation at all supplied with the Gertboard so you are on your own in that respect. There is a link to http://www.element14.com/raspberrypi printed on the back of the box but it does not lead directly to any information about the Gertboard. It is very useful to join the community group that the link points to though as there is a lot of RPi information available.
An internet search for 'Gertboard manual' was much more fruitful and produced this website which has links to other useful documents and software and is a good place to start (don't forget you need V2 documents): http://www.raspberrypi.org/phpBB3/viewtopic.php?f=42&t=20410
Getting hold of a copy of the manual now would be a good idea as this review makes much more sense when you can to refer to what I'm trying to explain.
Got it? Good. The first part of the user manual explains the capabilities of the Gertboard and also explains in detail how to connect everything up correctly. There are good pictures and diagrams too which give you confidence that you'll be up and running very soon.
There is a section on page 9 of the manual called 'Power on the Gertboard' which is very important to read. It explains that you need to install a jumper over the top two pins of header J7 to supply 3.3V to the components of the Gertboard. I think this should have been given more prominence as I have read lots of comments on the web that people's circuits don't work because they have not put the jumper in place.
Also important to note is that there are two revisions of the RPi available, the original 256Mb version (which I have) and the newer 512Mb version. The assignment of the RPi GPIO pins changed slightly between the versions and the Gertboard's pin labelling corresponds to the original RPi pins.
The manual continues with an overview of the test programs. You have a choice between using C or Python 2.7 to control the Gertboard and, as the manual explains, although C is harder for beginners to get to grips with the Python implementation is not quite complete as you can't program the microcontroller using it. Also you need several software packages to access all of the Gertboard functions as no one package does the lot. I decided to use C for running the test software as it required less setting up on the RPi.
Up next in the manual comes a section explaining how the buffered I/O, LEDs and pushbuttons work. If you get confused by any of this, then it's best to just dive in and run some of the tests. It all becomes clear soon enough.
The rest of the manual contains plenty of test programs written in both C and Python and they are very carefully and clearly explained. One thing I did notice was that on all of the wiring diagrams the power jumper on J7 is omitted. Remember to fit it in place when you've finished connecting things up.
Running Example Test Programs
The first step is to connect the Gertboard to your RPi. Make sure the RPi is switched off and jumper J7 is removed from the Gertboard. Then boot up your RPi. When the Gertboard is in place it does obstruct the composite video output a bit so you may be in trouble if you have a rather chunky plug connected. You could make up a ribbon cable to connect the two boards together if it's an issue.
You will need to install the test software on your RPi so I followed the instructions in the manual. I had problems using the Midori browser that is supplied with the RPi as all downloads ended up as zero bytes long. A bit of searching found that Midori has a bug and that you should download a different browser. I tried NetSurf and Dillo which are the other browsers supplied with the RPi but the Element14 website didn't display correctly so after more searching I found that Chromium was recommended. I got it by typing: 'sudo apt-get install chromium-browser' into a terminal window.
I found the software on the Element14 website and then continued with the instructions in the manual. I started out with the Button Test and all went as expected. If you're wondering how to end this test, just keep pressing buttons until it quits.
If you have the Revision 2 RPi, you should get the Rev 2 software from: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=42&t=20410 This version takes into account the GPIO changes that I mentioned earlier.
I went on to the LEDs test and again everything worked fine although there aren't enough straps included to connect all the LEDs which is minor point but a bit of a shame.
I didn't go on to run any more test software as based on the first two examples I had plenty of confidence that they would all work well. All the tests have notes to explain how the software works and I think it would be easy enough to customise the code for your own projects.
Programming the AVR Microcontroller
There is quite a lot of software required to program the AVR but thankfully everything required and great instructions are provided at this link: https://projects.drogon.net/raspberry-pi/gertboard/
When you get to the end of the 'Initial setup of the ATmega' section on Gordon Henderson's website you should return to the Gertboard manual for the last paragraph on page 41.
After connecting up the wires to program the AVR I loaded the 'Blink' and then the 'Button' sketches by following the Gertboard manual and as expected both of them worked flawlessly. The instructions on drogon.net and in the Gertboard manual are superb and left nothing to chance.
Testing the Gertboard has been a great experience, I expected things to be more complicated but were, in fact, pretty straightforward. This might not be the best board if you are interested in robotics as there is only one motor controller, but for learning about physical computing with the RPi I would wholeheartedly recommend it.
I look forward to using it to design my own circuits - all I need is a bit of imagination!
Easy to follow demos. Lots of online support. Very flexible layout and design.
Blocks composite video output on RPi. Could do with more straps and a quantity of the female sockets that are on the ends of the straps for connecting external components.
Also the Gertboard is a 3.3V circuit which means that if you have a stash of older components that you experiment with, you may find that some of them are incompatible.
I hope you've enjoyed this review and if you have a question or constructive criticism, I'd love to hear it via the comments.