I have recently been playing around with some cool toys – arduino and pinguino32.
The arduino is based around the Atmel micro controller AT328P or equivalent and can be programmed using a simple USB connection when you are running the Arduino software (the “IDE”) which is available for PCs running both Linux and Windows, and Macs.
The pinguino is based around a much more powerful micro controller, the PIC32 from Microchip. It can also be programmed via a USB connection, although at this time the pinguino and Arduino are not able to use the same IDE.
Programming either of these boards over USB lowers the maximum size of the program (“sketch”) that the chip can contain as it requires a small section of the memory for the bootloader.
You can also program them directly with onboard programming headers which allows full usage of the chip at the cost of the flexibility of USB programming. To do this you need separate pieces of hardware.
The Arduino can be directly programmed via the 6 pin ICSP header if you have an avrISP, avrdude or similar hardware compatible with the onboard atmega chip.
The Pinguino32 requires a pickit 3 or functional equivalent programmer and an adapter to fit the 6 pin 0.05 inch connectors onboard.
As long as you have the correct hardware, programming either of the boards is straightforward, although it should definitely be noted that at this time the Pinguino32 is far behind Arduino in the usability stakes and because of this is not intended at the inexperienced user at this point. I have no doubt whatsoever that the pinguino32 will rapidly expand the libraries available to it and allow it to catch up with the lead the arduino has.
Arduinos and pinguinos can both run the same program, subject to the libraries being available. All things being equal, this is where pinguinos would truly come into their own.
The specifications of the pinguino make it vastly superior to the arduino in terms of clock speed and overall throughput – the PIC32 runs at 80MHz and, having 32 bits means it can handle much more data per clock cycle than the arduino, which in the real world could easily amount to the same program being executed tens or even (with optimised code) hundreds of times faster than the same code on an arduino.
A big strength of arduinos has always been their expandability using boards that can be directly plugged into it (“shields”). Current shields have LCD displays, heypads, RFID receivers and pretty much anything else that someone can design. Some boards even come with breadboard areas for your own circuit development.
Arduino and pinguino boards are pin-compatible – a board that works on an arduino should also be able to work on a pinguino.
Arduinos and pinguino boards can also be given TV out capability using little more than 2 resistors and a cable to carry the (composite) video and one for the audio, with graphics currently reminiscent of early computers such as the ZX81 and others.
The arduino is restricted in that it is nowhere near fast enough to do anything other than black and white graphics. I would imagine that the pinguino, being an order of magnitude faster should have no real issue outputting full-colour apart from the amount of memory it would take to store the picture.
The pinguino has another advantage over the arduino – it comes complete with a microSD slot already on board, which can be used for writing to and reading from micro SD cards. This opens up many options for example data logging or being used as a digital picture frame.
My pinguino (the pic32-pinguino-otg) allows a great feature – USB OTG (USB on the go) which allows the board to control other USB devices or be controlled by other devices depending on the circumstance.
The pinguino also allows a much wider range of voltages to power it and is squarely aimed at the industrial market, with higher rated parts and a much wider operating temperature range.
One of the strengths of arduino is that you can swap chips in and out of the board to make standalone devices that require the bare minimum to get working – an atmega328p IC, 5 volt power supply, 2 capacitors and a 20MHz crystal will give you a fully working arduino once programmed. I know, I made one :) You can even program the standalone chip using the arduino main board using a couple of wires. Suddenly the board that cost £20 as a one-off can replicate itself many times over for around £3 each time.
As the pinguino32 is based on the PIC32 it does not have that luxury as the PIC32 does not come in a DIP package, only TQFN (thin quad flat no leads) which can realistically only be soldered using professional tools which come at a professional price tag.
So far my projects have included:
* a web based remote control that was featured on the front page of instructables http://www.instructables.com/id/Arduino-browser-based-remote-control-linux
* an OPEN sign for a shop made from LEDs
* a temperature and light monitoring station, an early prototype of a full weather station I intend to build and uploads the data to a remote website
I am currently working on:
* a simple video app that outputs black and white images
* an interrupt-driven burglar alarm that has keypad and RFID access, LCD information and uses multiple sensors to monitor different parts of the area to be protected
* a clock that gets a real time from an internet time server
I also regularly annoy my family by walking past things, or seeing them on TV and saying “I could do that with an arduino”. The sad thing is that it is actually true – the arduino is so flexible that I could easily twist it to do pretty much anything I want.
Case in point: I am sat here typing this at my desk and there is a rabbit in its cage a few feet away (it is a baby so I am constantly checking on it). An arduino could be used to monitor the water level and alert me when it falls below a certain level. 2 wires and a buzzer or LED will warn me at once if the water level drops.
When you are experimenting with arduinos the world truly does open up.
I am currently teaching my seven year old son how to use an arduino (he helped me create the software for the aforementioned “OPEN” sign so I could teach him the basics of how it worked and then asked him to come up with other ideas. Let’s see what results he comes up with. Probably something to zap his sisters knowing him.