Arduino Hacking - A History



The Arduino Duemilanove prototyping platform



The Processing-based IDE makes writing code easy

Anyone who has ever hacked around in their PC will have been hit with an urge to take their tinkering to the next level and create a custom-built device, but few actually try - believing such things to be far too complicated. At least, until the Arduino appeared on the scene.Originally developed in Italy in 2005 as a tool for students building interactive design projects, the Arduino is a microcontroller-based prototyping board - but one that pretty much removes the barriers to entry that previous electronic prototyping systems had.The idea behind the Arduino is simple: to create a system that allows electronic circuits to be created, modified, and tested in minutes - complete with a programmable chip in the centre to take control of everything.It's a design strategy that has proven successful: after receiving an honorary mention in the Digital Communities category at the Prix Ars Electronica in 2006, interest in the Arduino project exploded - with an estimated 120,000 boards having shipped as of February this year.The project takes its cues from the open source movement: as well as a programming language and integrated development environment which is available on an open source licence, the hardware itself is open - anyone is free to create their own Arduino using the original designs, although the team asks that the many clones available use a different name to differentiate themselves from the 'official' boards.Unlike other prototyping systems, the Arduino is designed to be easy to pick up and use - and it really is, with a single USB connection providing power and data connectivity to a host PC. Hook the device up, upload your program, and you're done - and you can even disconnect the Arduino from the PC and hook it up to a battery and have your code running as a stand-alone device.Speaking of programs, a word about the development environment: written in Java, the IDE for Arduino is made to be as friendly to a newcomer as possible. Based on the IDE written for the Processing project, it features everything you need to get started writing for the Arduino - including a single-click upload option which takes your program and puts it in the ATmega chip.The language used for these programs is, basically, C - but in order keep the user-friendliness levels up, the Arduino project includes a library called Wiring which takes all the complexity away and leaves you using simple commands to make your devices tick, even if you have no prior programming experience.