page.title=Building Custom Accessories
@jd:body

<!--
    Copyright 2010 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<p>An accessory for Android can be anything: keyboard, thermometer, robot, lighting control or
anything else you can imagine. Accessories for Android all have one thing in common; they all
connect to an Android device in some way. When starting out to build an accessory, you should
decide how your accessory will connect to Android devices. This page gives you quick overview of
your options for connecting your Android accessory and resources to help you get started.</p>
<h2 id="connecting-over-usb">Connecting over USB</h2>
<p>An accessory that connects to an Android device through a USB cable must support the Android
Open Accessory (AOA) protocol, which specifies how an accessory can establish communication with
an Android device over a USB cable. Due to the low power output of Android devices, the AOA
protocol requires the accessory act as a USB host, which means that the connecting accessory must
power the bus.</p>
<p>The AOA protocol has two versions which support different types of communication. Version
1.0 supports a generic accessory communication and adb debugging. This version of the protocol is
supported by the platform in Android 3.1 (API Level 12) and higher, and supported through an
<a href="https://developers.google.com/android/add-ons/google-apis/">Add-On Library</a> in Android
2.3.4 (API Level 10) and higher. Version 2.0 of the protocol is available in Android 4.1 (API Level
16) and adds audio streaming and human interface device (HID) capabilities.</p>
<p>If you use the general accessory protocol to communicate with your accessory (rather than the
adb or audio protocol), you must provide an Android application that can detect the connection of
your USB accessory and establish communication.</p>
<h3 id="next-steps">Next steps</h3>
<p>To get started on building an Android accessory that uses a USB connection:</p>
<ul>
<li>Select a hardware platform or build a hardware device that can support USB host mode.</li>
<li>Review the <a href="{@docRoot}accessories/index.html">AOA protocol</a> specifications to understand
  how to implement this protocol on your accessory hardware. Implementing the
  <a href="{@docRoot}accessories/aoa2.html">AOA 2.0 protocol</a> is recommended for all new Android USB
  accessories.</li>
<li>Review the ADK 2012 <a href="http://developer.android.com/tools/adk/adk2.html#src-download">firmware source code</a>
  (<code>&lt;adk-src&gt;/adk2012/board/library/ADK2/</code>), which demonstrates an implementation of an accessory
  using a USB connection for general data communications and audio streaming.</li>
<li>If you are planning to build an Android application that communicates with your accessory
  via USB, review the ADK 2012 Android
  <a href="http://developer.android.com/tools/adk/adk2.html#src-download">application source code</a>
  (<code>&lt;adk-src&gt;/adk2012/app/</code>).</li>
</ul>
<h2 id="connecting-over-bluetooth">Connecting over Bluetooth</h2>
<p>An accessory that connects with Android devices over a Bluetooth connection can use the
various connection profiles supported by Android, including the Simple Serial Protocol (SSP) and
Advanced Audio Distribution Profile (A2DP) profile. An accessory that uses Bluetooth to connect to
Android devices must support Bluetooth communications and at least one of the supported connection
profiles.</p>
<p>Users must enable Bluetooth on their Android device and pair with your accessory in order to
use it. You can also provide a secondary Android application that handles any specialized
communication, such as data input or control outputs, to interface with your accessory.</p>
<h3 id="next-steps_1">Next steps</h3>
<p>To get started on building an Android accessory that uses a Bluetooth connection:</p>
<ul>
<li>Select a hardware platform or build an hardware device that can support Bluetooth
  communications and an Android supported connection profile, such as SSP or A2DP.</li>
<li>Review the ADK 2012 <a href="http://developer.android.com/tools/adk/adk2.html#src-download">firmware source code</a>
  (<code>&lt;adk-src&gt;/adk2012/board/library/ADK2/</code>), which includes an example implementation
  of general data communications and audio streaming using a Bluetooth connection.</li>
<li>If you are planning to build an Android application that communicates with your accessory
  via Bluetooth, review the ADK 2012 Android
  <a href="http://developer.android.com/tools/adk/adk2.html#src-download">application source code</a>
  (<code>&lt;adk-src&gt;/adk2012/app/</code>).</li>
</ul>
<p><strong>Note:</strong> The ADK 2012 source code includes an open source Bluetooth stack which
is built for the Texas Instruments CC2564 chip, but can work with any Bluetooth chip that
supports a standard Host/Controller Interface (HCI).</p>
