Disclosure: The ChipKit Uno32 for this review was supplied free of charge by Farnell.
Product name: ChipKit Uno32
Price: £17.99 ($26.95)
Category: Microcontroller development board
The ChipKit Uno32 is a new Arduino-compatible board from Digilent and Microchip, based around a PIC32 MIPS microcontroller. This makes it a vastly more powerful platform than the ATMEGA328 based Arduino Uno, a lot of the press releases about it seem to be claiming that it's the first 32 bit based Arduino compatible, whether or not you consider the Maple to be equally worthy of this title, it has to be said it's a huge leap for the power of the platform.
Quality hardware at a bargain price Firstly, the cost is impressively low; £17.99 from Farnell: 1893211, about £1.50 cheaper than the Arduino Uno from the same supplier. Despite the cost the board is a high-quality 4 layer board with decent header-sockets and a number of pre-populated jumpers. It also uses the FTDI USB to serial adapter chip featured in earlier Arduino boards which makes for no-driver-fuss operation as the FTDI drivers are reliable and most electronics hobbyists will already have them. In fact, the quality of the hardware and the price of the board raises the question of whether or not Microchip and Digilent are subsidising this board to some extent to try and make an impact on the hobbyist market.
Openness and Freedom It was somewhat concerning to me to see a competitor to the proudly open Arduino trying to undercut on price and sponsored by some giants of the electronics industry. I was somewhat relieved, therefore to see that the schematics for the board itself are licensed under a creative commons license (a bit out of date now the Open Hardware license has been announced, but still good enough to ensure we can all make our own clones!). Also, having never used Eagle (I use KiCAD, a proper open source EDA tool) I was pleased to see that there's a PDF in the archive with the Eagle project.
One added barrier to free clones of this device is the surface mount only hardware, even on the Uno version. A determined hobbyist could soon overcome this with PCB production relatively cheap these days. The pin header sockets on the edge are good quality and an easy way to add on to the platform for anyone, whether they can solder or not.
Programming and Support The hardware is nicely laid out and has a number of jumpers to enable or disable added features that the ChipKit does not share with the Arduino platform. These are detailed in another file at the bottom of the digilent product page. The software is linked from Digilent and Microchip and a big thing is made of the fact that it is free, something we've come to expect of software that is provided with hardware products. It's available from a github repo but don't worry, that link takes you to the binary packages downloads page. Of course the source is available.
The software is a modified version of the Arduino development program where you can create "sketches" and is a Java cross platform app. Getting it going on my Linux install took a little bit of fiddling, I was running Crunchbang Linux which is Debian based so these commands should work in Ubuntu as well. I had sun-java-6 installed from the non-free repositories (to play Minecraft of course), however you also need the open-source librxtx-java package;
sudo apt-get install librxtx-java
You'll also need to add the following to the end of your ".bashrc" file in your home directory to make sure the proprietary Java install can find the open-source serial library. Just add this on the end of the file on a new line:
One final hiccup I had was that I wasn't part of the "dialout" group, which will be the same if you aren't the first user on an Ubuntu system. The name dialout is from the old days of serial port modems but it determines whether or not you can use serial ports (even USB ones like the FTDI chip that's on the ChipKit board). To check the groups you're in on a Linux machine type
groups into a terminal window. If you don't see the word dialout in the output use
sudo usermod -aG dialout <username>
<username> with your username. This modifies your user appending the Group dialout to your list and should let you use the serial port. You'll need to log out and in again for this to work though.
Most of the install stuff I figured out using http://www.chipkit.org/forum/ which is a bit sparse at the moment but seems to have official support from Microchip at least.
Once all this was installed I got into the program and opened up the classic Arduino demo "blink", my first ever Arduino sketch! It compiled and downloaded very easily, the software gives some error messages about avr-size not being installed or working properly but I guess these are teething problems with the software.
Documentation The worst part of this product is the documentation. The software is a modified version of an open-source app with little to no ChipKit specific documentation included, and I couldn't even find a pin-out for the board. The circuit diagram is available and the jumper diagram but that seems to be it. Obviously it's still useful to an electronics enthusiast who is happy reading the circuit diagram, but for a beginner the learning curve is rather steep.
It's early days yet and from experience this sort of open-source hardware released as soon as possible often has a limited set of support utilities and documentation at the beginning. Microchip and Digilent have jumped ahead a bit thanks to the Arduino libraries but to really capture market share we need more documentation!
Keep your eyes on the site for some interesting projects based around this board in the future!