Arduino is an open-source, programmable microcontroller and software based on the ATMega chip. Although the Arduino is designed as a prototyping platform, it can be used in various electronics projects whether temporary or embedded. The Arduino board can be programmed using the Arduino software. The syntax for this is similar to C/C++ and Java. It is designed to be simple and easy to use, and can be operated by anyone, from beginners to experts alike.
As Arduino is an open source platform, you can get hold of the source code and schematics for it. This means you can delve as far into it as you want, even creating your own Arduino boards. There is also a large community behind it, and you can find many tutorials and projects from all over the world online.
What can I do with an Arduino?
Pretty much anything you want! It has been used in so many different ways as the options are virtually unlimited. Past projects have included robots, art installations, in-car computers, MIDI controllers, cocktail makers, human-computer interfaces, Facebook 'like' counters, advertising displays, clocks, music instrument, custom mouse and keyboard, home automation... The list goes on and on!
The main features of an Arduino board are it's ability to read data from sensors, to send and receive digital signals and can connect via serial to your computer. You can control many things, from LEDs and LCDs, to motors and relays. You can also read values from sensors such as potentiometers, light dependent resistors (LDRs) and piezos.
The digital pins on an Arduino allow you to read or write 5v values. You can use a pin to turn on an LED (with a resistor). You can send a signal to a relay to operate higher voltage appliances like televisions and house lights. You can send messages to motors to turn on and off. You can check to see if a button has been pressed. You can even send and receive serial data, parallel data and digital pulse width modulation. Basically anything that can be controlled via a bit of current can be used.
The analog pins allow you to read an incoming voltage between 0v and 5v. This will be how you read from sensors. There are a multitude of sensors available, from simple hands-on pressure sensors and rotary potentiometers, to environment sensors such as pressure, gas, temperature and even alcohol. If you have, for example, a slider set to exactly half of its range, it should output a voltage of 2.5v. The Arduino can then read this and use the value to control something else.
You don't have to stop with just controlling electronic circuits. You can send data back to the computer to control software such as Processing and Max/MSP. You can send the data over USB with most models. Some models have Bluetooth and Ethernet ports, and with an additional shields (like an add-on unit) you can communicate via WiFi and other protocols.
What can't I do with one?
The Arduino doesn't have a lot of processing power, so pretty much any major intensive task is out of the question. You won't be able to process, record or output video or audio (Although you can output graphics to TFT or LCD screens). It is not like a computer. You won't be able to hook up your webcam or keyboard to it. There is no operating system with a GUI (like a Raspberry Pi). It is a completely different beast.
Can anybody use one?
That's the beauty of it. Even if you have no knowledge or experience with electronics or programming, you can get a simple project up and running in an hour or two. Getting an LED to flash on and off in a pattern is as simple as adding an LED and resistor to a breadboard, connecting a few wires and writing a few lines of code. Arduinos are used in classrooms all over the world as a starter to programming and electronics.
There we go... A quick low-down of the Arduino. This was written by Adam from codeduino.com - Codeduino is an Arduino resource site with loads more information, tutorials and examples of other projects. Have fun!