The Arduino is a microcontroller board that comes in several models including the Uno, Mega, BT, and LilyPad. It has an ATmega328 microcontroller, operates at 5V, and has 14 digital I/O pins, 6 analog input pins, 32KB of flash memory, 2KB of SRAM, and 1KB of EEPROM. It can communicate via UART serial, I2C, SPI, and USB and can interface with external boards and devices using these protocols as well as pins for interrupts, PWM, and serial communication. The document provides examples of how the author has interfaced the Arduino with mobile phones, displays, USB devices, watches, sensors, modules, and
3. Types of Arduino
• Uno (and older ones)
• Mega (more input pins)
• Arduino BT (includes bluetooth)
• LilyPad (wearable)
• Arduino Pro
• ADK (supports Android ADK)
• Clones (around 300+)
4. Specs
Type Value
Microcontroller ATmega328
Operating Voltage 5v
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
Flash Memory 32 KB (ATmega328) of which 0.5 KB used
by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
5. Pin Mappings
• Serial: 0 (RX) and 1 (TX)
• External Interrupts: 2 and 3
• PWM: 3, 5, 6, 9, 10, and 11
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
• TWI: A4 or SDA pin and A5 or SCL pin
• AREF and Reset
6. External Interface
• UART TTL Serial communication
• I2C (TWI)
• SPI communication
• ICSP (In-Circuit Serial Programming)
• Bootloader uses STK500 protocol
7. Interfacing with external boards
• Using I2C bus
• Serial communication
• SPI
• USB Micro port (other board should act as
host)
9. Things which I have tried
• Connecting to mobile Android phones using
– Bluetooth
– Wired and wireless
– Audio Jacket
– NFC
– ADK
• Connected all sorts of display devices including VGA devices like projectors
• Connected external USB devices like keyboard, mouse and even USB Missile
launchers
• Connected ez430 chronos watch
• Connected IR devices like TV Remotes etc
• Connected bluetooth devices like WiiRemote
• Created small bots which can be controlled by either a WiiRemote or Android
phones.
• Controlled GSM module using AT commands
• Controlled external devices using Relay
http://sudarmuthu.com/arduino