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.
Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP).
There are many different Arduino variations on the market, from small boards like the Arduino mini to large boards like the Arduino MEGA. All have certain features in common:
- Digital input/output pins (some double as PWM pins)
- Analog input/output pins
- Serial communication pins
- In-system programming pins (ISP)
- Compatibility with Arduino software
Several boards are also “shield” compatible. “Shields” are electronic boards which can be mounted directly on top of certain Arduino boards (and connect to the Arduino pins via pin headers) and are intended to extend the functionality of Arduino to control different devices, acquire data, etc. The location of the headers on Arduino boards is very specific, so only shields can be easily stacked. The Arduino Uno in the image below clearly shows the headers. The XBee shield shown only uses some of the pins, though the placement on the board corresponds to the placement of the pins on the Arduino.
There are many different shields available on the market, and new ones are released on a regular basis from third party manufacturers. These shields can be used for a wide range of applications and their main “raison d’etre” is to facilitate design, assembly and integration and reduce the time required to create a functional project and/or prototype. Below are just a few such shields:
The Ethernet shield allows you to connect the Arduino to the internet and includes a microSD card slot, multiple status LEDs and stacking headers, so you can add even more shields. RoHS compliant and comes assembled.
Connect a GPS module to your Arduino! Track and log GPS and other data to an SD card or help your robot navigate the world. Soldering and assembly is required, and the GPS module itself is sold separately.
Drive two DC motors at up to 0.6A each as well as 2 servo motors with a dedicated timer, or drives up to two low power stepper motor. Soldering and assembly is required. Stacking headers are not included.
Connect the Nokia 6100LCD to your Arduino using this shield display anything you want on its 128 x 128 pixel color LCD. Stacking headers are not needed since it should be the last shield in the stack. RoHS compliant and comes assembled.
Transmit data up to 100m (~300′) away at up to 115.2Kbps transfer rate (operating on 2.4Ghz frequency) using the Xbee Series 2 wireless module (included). Be aware that the Xbee module is not compatible with Series 1, and you will need a second XBee series 2 module to send/receive data. The shield comes assembled and ready to use.
Use the onboard dual axis mini joystick and two colored push buttons to control your robot. At the rear of the board there is mounting for DFrobot Bluetooth or RF Modules. Comes assembled.
Arduino boards are made to be directly compatible with the software which bears the same name. Arduino (software) is also open-source, making it easy to write code and upload it to the i/o board. The software runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, avr-gcc, and other open source software.
You can download the latest version of the Arduino software for free at any time. Previous versions are also made available. The first screen you will see when you load the software is the following:
The software is text based (as opposed to graphical) and was designed to give easy access to all the features of Atmel chips, as well as including pre-written functions and routines. Just as with many other programming languages, reserved words are recognized and change color, and there is a “verify” button which allows you to compile the code (to see if there is anything wrong or missing) before uploading it to the microcontroller. There are many pre-written code examples which come included in the software and range from blinking an LED to working with IMUs, and the user community has created and shared even more.
There are many books, articles and online tutorials explaining how best to learn / program / create using / hack / teach Arduino.
Although there are currently no major competitions specifically around Arduino (or specifically requiring the use of an Arduino), Arduino is often used as the main processing unit inside many robots. The website Instructables occasionally holds open contests where many of the contestants use Arduino.
What to Buy
There are several categories on the RobotShop website based on Arduino and related products:
This category contains all Arduino-based microcontrollers and variations from individual ATmega chips to large boards like the Arduino MEGA. When choosing a board consider the specifications and features (some may need an external USB to serial converter for programming). Keep in mind that all controllers here are compatible with the Arduino software.
This category contains most production shields available on the market. Instead of creating external circuits, shields have all the necessary component needed for a specific function and stack on top of many Arduino microcontrollers. Shields can range from motor controllers to LCD displays, GPS units, relays and more.
This category contains starter kits intended to get you playing with Arduino immediately, and saves you the time of checking for compatibility with third party products. Kits can include sensors, actuators, USB cable, prototyping boards and more. Other kits can be more specific, allowing you to build, for example, a mobile robot.
This category contains all products which are useful accessories to Arduino products and include USB cables, power adapters, interfaces, a number of cables and more. Note that Arduino is compatible with almost all robotic products on the market, so this category only contains a short list of the most popular accessories which are not application specific.
The DFRobotShop Rover incorporates a full Arduino USB microcontroller into the top PCB, which also serves as the top of the frame. Also incorporated into the PCB is a dual motor controller, voltage regulator, shield-compatible pin headers and more! The DFRobotShop Rover platform is one of the lowest priced programmable mobile platforms based on Arduino available on the market today.