ADK

From ElecFreaks
Jump to: navigation, search

Introduction

Freaduino ADK Main Board is an Android Open Accessory Development Kit(ADK) compatible board,but not a simple clone of it. Added features like Easier access to reset button, More visible location for LEDs, 3.3V/5V Operating Voltage selectable, More powerful 3.3V power supply(max 1A),smaller PCB size, and so on.

What is Android Open Accessory Development Kit?

The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows external USB hardware (an Android USB accessory) to interact with an Android-powered device in a special "accessory" mode. When an Android-powered powered device is in accessory mode, the connected accessory acts as the USB host (powers the bus and enumerates devices) and the Android-powered device acts as the device.

Android USB accessories are specifically designed to attach to Android-powered devices and adhere to a simple protocol (Android accessory protocol) that allows them to detect Android-powered devices that support accessory mode. Accessories must also provide 500mA at 5V for charging power. Many previously released Android-powered devices are only capable of acting as a USB device and cannot initiate connections with external USB devices. Android Open Accessory support overcomes this limitation and allows you to build accessories that can interact with an assortment of Android-powered devices by allowing the accessory to initiate the connection.

ADK-2.jpg

Features

  • Android Open Accessories development Kit (ADK) compatible:
  • Supports Android v2.3.4 and above devices.
  • Arduino Mega 2560 compatible (256K Flash MCU)
  • 56 Digital IOs
  • 16 Analog inputs
  • 14 PWM outputs
  • 4 Hardware serial ports (UART)
  • 1 Hardware TWI (I2C)
  • 1 Hardware SPI (up to 8Mbps)
  • On board USB host(MAX3421)s
  • On board USB slave(FT232)
  • More powerful 3.3V-1A LDO power regulator
  • 5V/3V3 IO Level selectable
  • More visible location for LEDs
  • More accurate and sensitive USB overcurrent protection with G5250
  • More powerful 5V-2A switch power regulator (input range 7V - 23V)
  • Easier access to reset button
  • Blue PCB
  • Smaller pcb size .Dimensions: 51mm x 93mm

Application Ideas

  • Develop accessories for Android (v2.3.4 and above) devices using ADK.
  • For Android devices not supporting ADK, use MicroBridge to develop accessories.
  • Make Android devices interact with the physical world.
  • As an Arduino compatible platform with 256K Flash.
  • On board USB host makes it easy to interact with USB devices like pen drivers, keyboard, mouse, Bluetooth dongles.

Cautions

  • Do not connect Freaduino ADK Main Board to PC through USB HOST connector.
  • External DC power-supply must be 7~23V.
  • If you unable to upload anything to the board, and try to upload code it just hangs at Uploading to I/O Board…

The 'boards.txt' file located in ‘\arduino-0021\arduino-0021\arduino-0021\hardware\arduino’ must be modified in China. But we don't know whether it is needed in others. Download it here. You can backup your 'boards.txt' file and instead of it by this file. If it is still not work, please let me know.

  • If you have error of "Setup packet error:D" , maybe you need use newest ADK package library(adk_release_20120606.zip or more new version) and try again.

Schematic

ADK-3.jpg

Click here to open: Freaduino ADK Schematic PDF

Specification

Refer featuresabove.

Pin definition and Rating

Mechanic Dimensions

  • Dimensions: 51mm X 93mm"

ADK-1.jpg

Usage

Hardware

ADK-4.jpg

Freaduino ADK Hardware blocks are listed below:

Item Description
1 I/O pins
2 Slide switch to choose operating or I/O voltage: 3.3V or 5V
3 ICSP: For programming Arduino Bootloader using AVR ICSP
4 Micro USB Socket: Connects main board to PC. Used for uploading sketch using Arduino IDE.
5 USB A Plug : Connects to Android Mobile Device.
6 DC Conector  : For external DC power supply. Do not connect PC while using external DC.
7 Reset Button: Conveniently placed at the side to allow using reset while using shields.

Hardware Installation

The following image illustrates an application example of Freaduino ADK Main Board with an Android Mobile.

DEMO 1 :Control LED with Android and Freaduino ADK

Freaduino-01.jpg

  • Uploading Firmware
    • Set the VCC slide switch to 5V.
    • Connect the Freadunino ADK Main Board - Micro USB to PC USB port.
    • Set the Board type in Arduino IDE to Arduino Mega 2560.
    • Compile the Demo Sketch and upload to Main Board.
  • Android App
    • Install Android Platform Development Software.
    • Import the demo Android app to Eclipse Workspace.
      • Connect the mobile device to PC and upload the application
  • Connect the mobile to ADK Main Board.

DEMO 2 : Freaduino ADK + Android + LCD, Dual Screen Display

Freaduino-02.jpg

  • Hardware

Programming

Includes important code snippet. Demo code like :

Demo code
{

}

Example

The projects and application examples.

Bill of Materials (BOM) /parts list

All the components used to produce the product.

Part Quantity Value Package
3V3_VCC_5V 1 SWITCH SW_KEYB
C1,C2,C3,C4,C5,C6,C24,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C44 23 100nF 0602
C7,C8,C41,C42 4 10pF 0603
C17 1 3.3nF 0603
C20 1 10nF 0603
C23 1 470UF CAPAE1030X1020N
C47 1 10UF/16V CAPCP3528X190N
D3,D4,D9,D10 4 LED 0603
D7,D8 2 SS24 D2010
D11 1 BAV99 SOT23
J2 1 USB CONNECTOR USB-A Port
J3 1 DC CONNECTOR CONN_DC-JACK
L20 1 10UH INDC7373X400N
L21 1 60R/100MHz 0805
Q1 1 IRLML6401 SOT23
R1 1 10M 0603
R2,R15 2 100R 0603
R7 1 100K 0603
R8 1 1K 1% 0603
R9 1 5.6K 1% 0603
R10 1 6.8K 0603
R11,R18,R24,R25,R26,R30,R32,R33 8 1K 0603
R12,R13,R19,R20,R21,R22,R27,R28,R29 9 33R 0603
R16,R17 2 10K 0603
R23,R31,R34,R35 4 4K7 0603
U15,U16 2 G5250F2T1U SOT-23-5
U17 1 12M HC-49US/SMD
U4 1 16M HC-49US/SMD
U13 1 MP2307 SOIC8
U6 1 AMS1117-3.3 SOT-223
U9,U11 2 TXB01040 TSOP14
U10 1 FT232RL SOP28
U12 1 MAX3421 TQFP32
U14 1 ICSP 2.54 male 2*3p
U5 1 LM353 SOIC8
U18 1 SW SW
U2 1 MEGA2560 TQFP100
J1 1 MINIUSB MINIUSB


FAQ

Please list your question here:

Power Support

The Arduino can be powered via the USB connection or with an external power supply. The power source is selected automatically.


External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.


The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.


The power pins of Freaduino are as follows:

VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.

5V.This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 23V), the USB connector (5V), or the VIN pin of the board (7-23V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.

3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

GND. Ground pins.

Support

If you have questions or other better design ideas,

Version Tracker

Revision Descriptions Release
v1.0 Initial public release July 2011

Bug Tracker

Bug Tracker is the place you can publish any bugs you think you might have found during use. Please write down what you have to say, your answers will help us improve our

products.

Additional Idea

The Additional Idea is the place to write your project ideas about this product, or other usages you've found. Or you can write them on Projects page.

Resources

How to buy

Click here to buy: Freaduino ADK

See Also

Other related products and resources.

Licensing

This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are

licensed under GPL/LGPL, see source code files for details.

External Links