The Freetronics USBDroid is a microcontroller board which is 100% compatible with the popular Arduino Uno reference design, while incorporating several updates and improvements and the addition of USB "host" mode functionality compatible with the USBHost software library.

It
 provides a balanced combination of general-purpose digital I/O pins, analogue inputs, pulse-width modulated (PWM) outputs and communications support to allow it to directly control, read and communicate with sensors, drive servos and other external devices. WiFi, ZigBee, LCD, and hundreds of other expansion shields and devices are also available to operate with it.

All I/O pins and power rails are brought out to convenient headers, allowing you to either connect individual pins to a breadboard using standard jumper wires or to plug in "shield" daughter-boards for versatile expansion. General-purpose prototyping shields are also available which provide extensive space for you to create your own add-on circuits. The USBDroid can be powered automatically by the USB connection or powered separately by your project via the DC jack or header.

Software Installation

1. Download the latest Arduino IDE, version 0022 or higher for your operating system from www.arduino.cc/en/Main/Software and install it to suit. You'll also find more step-by-step guides for installation here: www.arduino.cc/en/Guide/HomePage

Windows users please note: The USB driver for the USBDroid must be downloaded and used for first-time installation of the USBDroid's USB port: www.freetronics.com/usbdriver

2. Once the Arduino IDE is installed, we're ready to do the initial board and port setup. You won't need to do this again unless the serial port number changes such as when using a different USB port on your computer.

3. In the Arduino IDE, select Tools > Board > Arduino Uno.

4. Before connecting your USBDroid to the USB port, have a look at the list of ports in Tools > Serial Port. That's where your USBDroid serial port is going to appear when you plug it in.

5. Connect your USBDroid to the computer USB port. We supply an appropriate USB cable with the USBDroid. After a short while if you look at Tools > Serial Port again you'll see a new port appear: that's the USBDroid ready to be used. Select that port now with Tools > Serial Port so there is a tick mark next to it

6. You're ready to go. The Arduino IDE now knows about your board and has a connection to it. Our USBDroid boards ship with the "Blink" sketch preloaded so you should immediately see the blue power LED illuminate, and the red D13 LED will begin flashing on and off at 1 second intervals.

Compiling And Uploading A Sketch To The USBDroid

"Sketch" is the Arduino term for a program. To test uploading a simple sketch to your USBDroid:

1. Choose File > Examples > Digital > Blink. You'll see the code for Blink open in the IDE.

2. Select Sketch > Verify/Compile, you've now built (compiled) the program ready to be loaded.

3. Lastly, to load the program into the USBDroid, select File > Upload to I/O Board. You'll see the red D13 LED flicker as the board is reset, then the green and yellow RX and TX LEDs will flash while the upload is in being done.

4. A few seconds later the RX and TX LEDs will go off, the board will reset, and the red D13 LED will begin flashing on and off at 1 second intervals. Congratulations! You've now compiled and uploaded your first sketch to the USBDroid. Try experimenting with changing the delay values in the sketch and repeating the process to see the LED blink at different rates.

5. To explore the USB host functionality, donwload and install this USB Host library for Arduino. Don't use the library included with Arduino 1.6.x - it is for a different board.

USBDroid Specifications

Microcontroller
MCU Type Atmel ATmega328P
Operating Voltage 5V
MCU Clock Speed 16 MHz
USBDroid
Input Voltage
7-12V DC recommended
6-20V DC maximum
Digital I/O pins 14 (6 provide PWM output)
Analog Input Pins
8 (analog input pins also support digital I/O,
giving 22 digital I/O total if required)
Analog Resolution 10 bits, 0-1023 at 5V AREF is approx 0.00488V; 4.88mV per step
Current Per I/O Pin 40 mA maximum
Total Current For All I/O Pins 200mA maximum
Current For 3.3V Output 50mA maximum
Memory
Flash Memory 32 KB Flash Memory, of which less than 1 KB is used by bootloader
SRAM, EEPROM 2 KB SRAM, 1 KB EEPROM
Communications
Serial 1 x hardware USART, SPI (Serial Peripheral Interface), I2C
USB Host 1 x USB "A" connector using the MAX3421 chipset. Uses pins D9, D10, D11, D12, D13
Other
Integrated USB programming and communication port. Many other one-wire, multi-wire, LCD and expansion devices supported by free code and libraries