Arduino is an open-source hardware project. Offical Arduino boards provide an easy-to-use interface for Atmel microcontroller chips, and are intended for fast prototyping and experimentation. No more soldering ICs, no more reading 500-page specification docs (not an exaggeration), and no more hassles with bootloaders and progam uploading. Proof: note how short these instructions are.


Getting Started
Learning Arduino

Getting Started

Read the Arduino Project's Introduction. It's an excellent overview of the Arduino and helps put everything into perspective.

Next, go through the official Getting Started Guide for your board and platform to get up and running straight away.

Keep in mind that the Arduino is more physically involved than other programming projects; you won't be able to do much without attaching external components to it. To make the Arduino useful, you'll need easy access to an electronics prototyping workstation. Recommended supplies include a breadboard, a good handful of components (resistors, transistors, LEDs), wires for connecting components, and a soldering iron if you plan on making your project more permanent.

Learning Arduino

Before embarking on a project of your own, you'll want to get familiar with the Arduino's capabilities. There are a couple options.

.:oomlout:. Inventor's Kit Circuits
If you have dibs on the class Inventor's Kit, definitely work through some of the circuits. Each incorporates an Arduino sketch with external electronic components--the perfect foundation for your own projects.

Arduino Example Sketches
Less involved with outside components, but goes more in-depth with the capabilities of sketches.

tronixstuff Tutorials
More involved tutorials that tap into the full potential of Arduino.

Tutorials to interface Arduino with advanced hardware and software


API References
Conceptual Foundations
Serious Hacking

Technical Details

"Arduino" means different things to different people, but its meaning generally boils down to the following:
  • supports the Processing programming language or IDE and the built-in Arduino functions
  • is compatible with Arduino hardware "shields" (add-on boards) with the correct pinouts

So anybody can build an Arduino-compatible board from scratch with, say, a more powerful microcontroller than in the official boards. However, the strength of Arduino is its accessibility to hobbyists - people who want to rapidly experiment with ideas - without having to deal with everything between a microcontroller chip and a flashing LED. Arduino works because the official hardware and software are enough for most projects.

Arduino Uno
The Uno is the current "flagship" Arduino board. It contains an Atmel ATmega 328 microcontroller (the long, black chip on the board). The Uno is a good choice for many projects. Features include:
  • 14 digital I/O pins (6 providing PWM output)
  • 6 analog input pins
  • 32 KB of flash memory (for programs; 0.5 KB used for bootloader)
  • 2 KB of SRAM (for variables)
  • 1 KB of EEPROM (for storage)
  • UART or USART TTL (5V) serial communication
  • external interrupts on two I/O pins
  • SPI communication (4 pins)
  • TWI communication (2 analog pins)

There are lots of other official boards out there, with more storage, faster microcontrollers, and expanded connectivity options (Bluetooth, WiFi, additional serial ports).

external image ArduinoUnoFront.jpgexternal image ArduinoUnoBack.jpg

Raspberry Pi - a (different) cheap, powerful single-board computer

maker faire:
$25 doller PC project. Arm based CPU and broadcom GPU.
700mhz / 256 mb memory
linux os
1080p full screen video
runs quake 3 at 30fps at 1080p with 4x anti aliasing: