will be read-only starting December 31st, 2018. For more info please look at this Forum Post


Run Arduino On...

Interface Arduino With...





  • A simple lookup table method of getting Celcius numbers from a 10k thermistor. Code & calculating spreadsheet here: thermistor


HMC6352 I2C Compass Sensor

  • Read heading from a compass sensor, using the Wire library. Here's the sketch: Learning.hmc6352


  • Arduino code for parsing data from the EM-406 GPS module, by bigengineer.
  • How to connect a Paralla* GPS module to the Arduino, and read its $GPRMC string. Tutorial translated from Igor Gonz�lez Mart�n's original Spanish tutorial. This allows you to get date, heading, latitude and longitude from the GPS module.






Nintendo and Super Nintendo Game Pads

  • See for libraries that handle the serial communication between one of the many types of NES or SNES game pads and an Arduino.

Bar Code Scanners and PS2 devices

  • You can hook up a barcode scanner (which simulates a keyboard) or a keyboard to the arduino. See barcode scanner

PS2 mouse interface

  • Read data from a PS2 mouse. Useful if you want to use the encoders from an

old mouse in a robot or other device. PS2 mouse interface

Matrix Keypad

  • Reads a keypad with up to 16 keys. To find out how to connect your keypad open the library file keypad.cpp and read the "PIN MAPPINGS" notes to see which pins you need to connect.
  • See Keypad Tutorial




Light & Displays



DMX lighting control


  • A cheap 4-digit seven segment led display with SPI. No decimals, though. code here: Hc4led

LCD HD44780


Getting started: Read Heather's original tutorial. It comes with a LCD library which works great (in 8-bit mode).

Using 4-bit mode with Hitachi LCD controllers. There are now various code examples for how to talk to an HD44780-compatible LCD in 4-bit mode (in order to save arduino pins):

Documentation on the HD44780 Hitachi LCD controller


High Power


  • Schematic for driving DC relays using a transistor connected to an Arduino pin.

Sensing 12V or higher inputs




  • You can control up to 20 hobby servos simultaneously with the Software Servo Library.
  • You can control 2 servos, on pin 9 and 10, very precisely with the Servo Timer 1 Library.
  • You can control very large numbers of servos precisely using an external PWM chip for each group of 16 servos. See the PWM Expansion note. There will be a servo library for this part eventually.

DC Motor Control

PC Fan Speed Control



Resistors and Potentiometers

  • see dusjagr labs for an easy way to control a resistor in a circuitbent toy or a simple analog electronic circuit for lo-fi music

Audio Devices

  • Control an iPod with the Arduino, by Jonas Olson & Robert White.
  • Connect Arduino to the YAMPP III Industrial MP3 player, diagrams by Jens Wunderling.
  • Some code for controlling an Ipod remote through Processing, by Rosie Daniel...



Controlling Cameras

  • Remote control a Canon EOS to take time lapse photos. The same wiring and interface should work on other cameras.


PWM Expansion


USB memory stick




  • Wireless communication with PC and Arduino board using bluetooth, by Mitchell Page.
  • Connect Arduino to the EasyRadio transceiver module, diagrams by Jens Wunderling.

XBee radio modules

Shields under development

XBee Shield

A shield for Arduino boards that can either act as interface between your computer and the XBee wireless network, or as a wireless port for your Arduino boards. Designed by M. Yarza in collaboration with Arduino's team. (more)


The shield contains a SID-emulator, programmed on an ATMEGA168 chip, some electronic components to use the ATMEGA and a small amplifier and mini-jack out. The idea is to emulate the original SID chip from the Commodore 64, cos its hard to get, and have the whole interface-abilities from the arduino. The SID-emulator was programmed by C. Haberer, see Roboterclub Freiburg for details. The shield has been designed by dusjagr/SGMK and will be posted here soon. The systems allows you to create original 8-bit sounds programmed and controlled via the Arduino board. (More about SID-emulator?)

Other Resources