An introduction to Arduino

Published on Tue 11 Jan 2011 by Will


Arduino is an electronics prototyping platform which has taken a percentage of the tech community by storm. Here we take a look at this popular open-source project to demonstrate how you too can start developing with it.

What is Arduino?

To quote directly from the official Arduino website:

“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.”

An Arduino UNO

Arduino is about physical computing. It provides a platform for people to create real world objects which can sense and react to their surroundings. It is open-source so it can be freely manufactured by 3rd parties or even embedded into other devices provided modifications are too published publicly.

The openness and ease of use is attributable to Arduino’s success. There is a worldwide community of users building all sorts of interactive devices from remote controlled vehicles, robots, data-loggers and art installations. Having such a large community of people working with Arduino means there is a vast amount of information available with people sharing their own advice and learnings.

How does it work?

At the heart of the Arduino is a microprocessor. This is the brains of the Arduino and is programmable to control the 14 digital I/O pins and 6 analog pins which are made available through easy to use headers attached to the PCB (printed circuit board). Through these pins you can attach sensors and motors and read and write values to and from them. These could be such things as temperature sensors, light dependent resistors, motors, LCD screens, accelerometers and many others.

ATMega328 - The Arduino UNO’s microprocessor

The main avenue of communication in and out of an Arduino device is via USB. This provides serial communication between itself and another device, usually a computer. This link allows for instant communication with Arduino by being able to read and write data directly to the device. It’s possible to leverage this communication for driving on-screen programs such as those running on the Flash platform.

Programs, referred to as ‘sketches’ are written in the Arduino IDE which can be freely downloaded from the Arduino website. When a sketch is complete it’s uploaded to the Arduino via USB. The Arduino IDE even comes with several dozen example sketches demonstrating how to communicate with the various types of sensors available.

The Arduino IDE with an example sketch loaded

A core philosophy of the Arduino language is that it needs to be simple for non-programmers to pick up... and it is. Those who already have programming experience (like Actionscript) will understand it almost immediately.

Do I need to be an electronics wiz?

No. Arduino is built in such a way that it is surprisingly accessible to people with limited to no understanding of how electricity and circuits work. As mentioned above, the standard Arduino UNO board contains headers which can have jumper wires pushed into them without requiring any soldering.

With that said, how far you can get without learning at least some basic electronic theory is debatable. Playing with the Arduino is very much a learning experience in itself and it helps to have an inquisitive mind to learn how electronic components and circuits work.

How can Arduino be extended?

As the Arduino community is very active many ‘pluggable’ pre-built circuits have been designed and manufactured. These are referred to as ‘shields’ and contain specific functionality and componentry not available on the Arduino by default. Shields often bring the Arduino’s header inputs up to the surface of the shield allowing multiple shields to be stacked on top of each other. One such example is the XBee shield built by Sparkfun. This provides an interface to an XBee module (sold seperately) to enable wireless capabilities for a project.

An Arduino with a Sparkfun XBee shield attached

Where can I learn more?

To learn more about Arduino head on over to the official website at arduino.cc. There is a FAQ as well as specific details on the different version of hardware available. Take a look under the buy section for a list of distributors world wide and the playground section for an exhibition of projects created by users. Also searching for ‘Arduino’ on youtube brings up many examples.

There have also been several Arduino books published. I recommend these.

Arduino:

General electronics:

Arduino: The Documentary

If you’d like to get some insight into how Arduino came to be, check out this documentary.

Did you enjoy this post?

Why not subscribe via RSS or follow Ahrooga on Twitter for alerts on new posts :)

You may also like:

Comments

John Boxall - 13 January, 2011

Yes, Arduino and the many offsprings are certainly taking the world by storm. If your readers are interested, I write a regular tutorial series for beginners and experts alike at http://tronixstuff.wordpress.com/tutorials.
Have fun!

Will Dady - 13 January, 2011

John, I was actually looking at your site about a week ago before writing this article. Your XBee chapter was very useful. Thanks for your comment :)

JAYCON - 21 November, 2011

Well i suggest your article to those people who are working on same project that they get some useful information from your article.