Introduction to Arduino
[For a comprehensive introduction to Arduino follow this link]
What is an Arduino anyway?
The Arduino is essentially a development board for an Atmel micro-controller chip; that is to say it exposes all the inputs and outputs (IO) of the chip and includes some hardware to make working with it easier.
OK... what is a micro-controller?
Think of a micro controller as a tiny chip sized computer that you can programme. The different input and output (IO) pins on the chip can do different things. You can use them to do things like read sensors, interpret button presses or knob turns and control lighting, motors, sound and visuals not to mention communicating with them from software or indeed controlling things in software. Micro-controllers represent the bridge connecting the digital and the physical world.
...and development boards?
Development boards are used in the electronics industry to offer clients a way to quickly and easily experiment with hardware that they might want to do some R&D with and are usually quite expensive. Arduino aimed their development board at hobbyists, artists, educators and general tinkerers and gave it a low price which really opened up micro-controllers and digital electronics to many more people. Arduino boards now come in a load of different shapes and sizes with different capabilities and because the designs are Open Source there are also many third parties making their own versions. Check here for some of the types of board available.
So... these third party boards, they look much cheaper?
That can be the case, yes. Some fall into the realm of cheap knock offs and some are actually trying to do something that Arduino doesn't already do. Arduino have done a good thing and its good to support them, there is something to be said for buying at least one original board if you can afford it! Some of the cheap knock offs do have issues, I have seen some that require extra (undocumented!) software installs, some that had counterfeit serial chips in and got bricked and some that come in a kit with a load of jumper wires that were badly made and didn't even work. This stuff is hard enough anyway without being let down by faulty hardware, do your research and use a reputable supplier. We have a buyer guide here that lists some great suppliers where you can buy electronics stuff, Arduino boards and shields.
What the heck is a shield?!
Shields plug into your Arduino to extend its capabilities and offer you an easy way to interface with other hardware. Want to send your Arduino a text message to turn the lights on? Grab a GSM shield. Want to control a stepper motor? Grab a motor shield. etc etc. Of course you can build your own for a fraction of the price (and a multiplication of the time!). Other development board manufacturers seem determined to not use the word shield so you may see things like 'capes' (Beaglebone) and 'hats' (Raspberry Pi) for other devices.
Wait... 'other development board manufacturers'?
Yes, and once you have learnt about Arduino you may want to make use of another type of device. The specific needs of the project will define which hardware you choose. Essentially you will end up choosing between a small single board computer (Raspberry Pi) and a micro-controller development board (Arduino Uno), though the line is continually blurring here at the moment. There are even chips designed for a specific purpose (e.g. WiFi chips) that are a micro-controller in themselves and hence can be programmed to do other stuff too.
Hang on, I'm seeing Arduino.cc and Arduino.org, and what's 'Genuino'!?
OK, I didn't want to get into it, but there was some sort of disagreement between the Arduino members and there has been a split. Arduino.cc (who are Genuino outside the US) is the original one I know and love so I refer people there. If you really want to dig the dirt have a look here. **Stop the press - it looks like they are all one happy family again!
And can I just use the chips separately?
Yes, there are many on-line resources that show you how to build your own or just use enough supporting hardware for the capabilities you need. A favourite for this is the ATtiny micro-controller, it is small, cheap and can be programmed with an Arduino board. But hey, this is getting a bit advanced, lets get started!