Arduino - Guide

Arduino

Guide

Tutorials

Reference

Hardware

Software

Forum

Playground

Exhibition

Hacking

FAQ

Buy

Introduction | How To: Windows, Mac OS X, Linux; Arduino Mini, Arduino BT | Troubleshooting | Board | Environment

## Guide to Arduino

### In This Guide

This guide tell you everything you need to get started with Arduino. It consists of the following pages:

- Introduction (this page): an explanation of what Arduino is and why you'd want to use it.
- How To (Windows, Mac OS X, Linux; Arduino Mini, Arduino BT): step-by-step instructions on getting your first Arduino program working.
- Troubleshooting: what to do if things don't work.
- Board: description of the Arduino board and its parts.
- Environment: description of the Arduino development environment and its parts.
- References: links to and descriptions of other source of information on Arduino (on this site and elsewhere).

### Elsewhere on the Arduino website

- Arduino booklet: an introduction to physical computing, electronics, and Arduino.

### External Resources

- Video lectures: Tom Igoe introduces Arduino. (thanks to Pollie Barden).

- Course guides: Longer documents introducing Arduino: class 1 (getting started), class 2 (input and sensors), class 3 (communication, servos, and pwm), class 4 (piezo sound & sensors, arduino+processing, stand-alone operation).

- Wiring electronics reference: circuit diagrams for connecting a variety of basic electronic components.

- Schematics to circuits: from Wiring, a guide to transforming circuit diagrams into physical circuits.

- Tom Igoe's Physical Computing Site: lots of information on electronics, microcontrollers, sensors, actuators, books, etc.

### What is Arduino?

Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source physical computing platform based on a simple microcontroller board, and a development environment for writing software for the board.

Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. Arduino projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free.

The Arduino programming language is an implementation of Wiring, a similar physical computing platform, which is based on the Processing multimedia programming environment.

### Why Arduino?

There are many other microcontrollers and microcontroller platforms available for physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many others offer similar functionality. All of these tools take the messy details of microcontroller programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for teachers, students, and interested amateurs over other systems:

- Inexpensive - Arduino boards are relatively inexpensive compared to other microcontroller platforms. The least expensive version of the Arduino module can be assembled by hand, and even the pre-assembled Arduino modules cost less than $50

- Cross-platform - The Arduino software runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows.

- Simple, clear programming environment - The Arduino programming environment is easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers, it's conveniently based on the Processing programming environment, so students learning to program in that environment will be familiar with the look and feel of Arduino

- Open source and extensible software- The Arduino software and is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it's based. SImilarly, you can add AVR-C code directly into your Arduino programs if you want to.

- Open source and extensible hardware - The Arduino is based on Atmel's ATMEGA8 and ATMEGA168 microcontrollers. The plans for the modules are published under a Creative Commons license, so experienced circuit designers can make their own version of the module, extending it and improving it. Even relatively inexperienced users can build the breadboard version of the module in order to understand how it works and save money.

### How do I use Arduino?

To get started, follow the instructions for your operating system: Windows, Mac OS X or Linux; or the additional instructions for your board: Arduino Mini, Arduino BT.

Edit Page | Page History | Printable View | Recent Site Changes