SlideShare a Scribd company logo
1 of 21
Development, debug and
deploy
hardware/software
solutions based on
Android and Arduino
                                      Ilya Rodin
                         Senior Android Engineer
                                 Lohika Systems
Arduino
Introduction into Arduino

Arduino is…

Open-source electronics
prototyping platform

Open-source development
environment

A lot of electronics circuit
elements, Arduino-base
schemes and kits

e.t.c



                                3
Hardware
           Microcontroller          ATmega2560

           Operating Voltage        5V

           Input Voltage
                                    7-12V
           (recommended)

           Input Voltage (limits)   6-20V

                                    54 (of which 15 provide
           Digital I/O Pins
                                    PWM output)

           Analog Input Pins        16

           DC Current per I/O
                                    40 mA
           Pin
           DC Current for 3.3V
                                    50 mA
           Pin

                                    256 KB of which 8 KB used
           Flash Memory
                                    by bootloader


           SRAM                     8 KB

           EEPROM                   4 KB

           Clock Speed              16 MHz




                                                          4
Development environment
                Cross-platform Java-base IDE

                Simple C++ base language                         •Begin
                 •    Well known language constructions
                      (class, variables, loops, operators,
                      methods, etc…)

                 •    You can use already created library         setup()
                      (LiquidCrystal, EEPROM, Servo,
                      TinyGPS, erc…)

                 •    You can create new library, if it needed…

                Simple application life circle
                                                                  loop()
                Port Monitor toolkit

                etc…




                                                                            5
… and something more
   Connection by Digital I/O

    •   PWD

    •   UART

    •   I2C/TWI

    •   SPI devices

    •   DC motors

    •   etc..

   Connection by Analog port

    •   Microphone

    •   Sensors

    •   AC drive

    •   etc…




                                6
Hey, bro!
What about
 Android?
Android Open Accessory
Support in…and higher
Android SDK 3.1 (API 12)
Google API add-on lib for Android 2.3.4
(API 10)




                                           Implemented…
                                           USB Host Mode
                                           Accessory Mode




                                                             8
How it is work?

1.   Wait for and detect connected devices

2.   Determine the device's accessory mode support

     •   The attached device supports Android accessory mode and
         is already in accessory mode.

     •   The attached device supports Android accessory mode, but
         it is not in accessory mode.

     •   The attached device does not support Android accessory
         mode.


3.   Attempt to start the device in accessory mode if needed

4.   Establish communication with the device if it supports the
     Android accessory protocol




                                                                    9
AOA 2.0


                                         New products Ids…
                                         AOA 1.0

                                            •   0x2D00 – accessory


                                            •   0x2D01 – accessory+ADB


                                         AOA 2.0

                                            •   0x2D02 – audio

    New features…                           •   0x2D03 – audio+ADB


    Audio output by USB (only for          •   0x2D02 – accessory+audio
    Android 4.1 (API 16) and higher)
                                            •   0x2D03 – accessory+audio+ADB
    Support multi-connection with HID
    devices




                                                                               10
Trouble…
Limitations…
High API level
Some Android devices do not support
Accessory/Host Mode

Android Emulator do not support USB




                                       Resolving…
                                       Try use MicroBridge Mode
                                       Try use MicroBridge Mode

                                       ×Actually not resolved




                                                                   11
ok, it is clear…
 ADK ?! O_o
Android Development Kit


        ADK 2011          ADK 2012




                                     13
IOIO



  Spark Fun IOIO it is…
  Low cost PIC24FJ256-DA206 base
  platform

  Support connection by Digital Input/Output,
  PWM, Analog Input, I2C, SPI, and UART.

  Support Android 1.5 and higer




                                                 14
Proteus Design Suit




                      16
LabVIEW 2012




               17
Workshop
Find out more…

                 http://developer.android.com/tools/adk/


                 http://www.arduino.cc/


                 https://github.com/ytai/ioio/


                 http://code.google.com/p/microbridge/
Q&A
Thank you!

More Related Content

What's hot

Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software DevelopmentSanjay Kumar
 
Smartphone++
Smartphone++Smartphone++
Smartphone++mharkus
 
Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Pawan Dubey, PhD
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the ArduinoCharles A B Jr
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionIntel® Software
 
IoT Devices, Which One Is Right for You to Learn?
IoT Devices, Which One Is Right for You to Learn?IoT Devices, Which One Is Right for You to Learn?
IoT Devices, Which One Is Right for You to Learn?Agustaf Ryadi
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (Dhruwank Vankawala
 
Monitoring Temperature Room With Display LCD and Data Recording
Monitoring Temperature Room With Display LCD and Data RecordingMonitoring Temperature Room With Display LCD and Data Recording
Monitoring Temperature Room With Display LCD and Data RecordingMR Selamet
 
My arduino presentation
My arduino presentationMy arduino presentation
My arduino presentationSham Arsenal
 
MicroEJ OS for IoT devices
MicroEJ OS for IoT devicesMicroEJ OS for IoT devices
MicroEJ OS for IoT devicescharlotte75009
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things HardwareDaniel Eichhorn
 
Arduino Uno Board - Robomart
Arduino Uno Board - RobomartArduino Uno Board - Robomart
Arduino Uno Board - Robomartraspberrypib
 

What's hot (18)

Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software Development
 
Smartphone++
Smartphone++Smartphone++
Smartphone++
 
Report
ReportReport
Report
 
Arduino day
Arduino dayArduino day
Arduino day
 
Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming Arduino: On-board components description, IDE and Programming
Arduino: On-board components description, IDE and Programming
 
Arduino
ArduinoArduino
Arduino
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
 
Developing a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT EditionDeveloping a NodeBot using Intel XDK IoT Edition
Developing a NodeBot using Intel XDK IoT Edition
 
IoT Devices, Which One Is Right for You to Learn?
IoT Devices, Which One Is Right for You to Learn?IoT Devices, Which One Is Right for You to Learn?
IoT Devices, Which One Is Right for You to Learn?
 
Basics of open source embedded development board (
Basics of open source embedded development board (Basics of open source embedded development board (
Basics of open source embedded development board (
 
Ardunio
ArdunioArdunio
Ardunio
 
Monitoring Temperature Room With Display LCD and Data Recording
Monitoring Temperature Room With Display LCD and Data RecordingMonitoring Temperature Room With Display LCD and Data Recording
Monitoring Temperature Room With Display LCD and Data Recording
 
My arduino presentation
My arduino presentationMy arduino presentation
My arduino presentation
 
Road to RIoT 2017 Medan
Road to RIoT 2017 MedanRoad to RIoT 2017 Medan
Road to RIoT 2017 Medan
 
MicroEJ OS for IoT devices
MicroEJ OS for IoT devicesMicroEJ OS for IoT devices
MicroEJ OS for IoT devices
 
Arduino
ArduinoArduino
Arduino
 
Introduction to Internet of Things Hardware
Introduction to Internet of Things HardwareIntroduction to Internet of Things Hardware
Introduction to Internet of Things Hardware
 
Arduino Uno Board - Robomart
Arduino Uno Board - RobomartArduino Uno Board - Robomart
Arduino Uno Board - Robomart
 

Similar to Develop, debug and deploy Android and Arduino hardware/software solutions

4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdfRynefelElopre2
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1Felipe Belarmino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoRichard Rixham
 
Multipilot pres-ufficiale def
Multipilot pres-ufficiale defMultipilot pres-ufficiale def
Multipilot pres-ufficiale defRoberto Navoni
 
Introducing... Arduino
Introducing... ArduinoIntroducing... Arduino
Introducing... Arduinozvikapika
 
Arduino overview - introducing
Arduino overview - introducingArduino overview - introducing
Arduino overview - introducingajiew
 
2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT FightBruno Capuano
 
Arduino training day 1
Arduino training day 1Arduino training day 1
Arduino training day 1Binod Thapa
 
Aurdidino1 anurag preetirajesh-sgsits
Aurdidino1  anurag preetirajesh-sgsitsAurdidino1  anurag preetirajesh-sgsits
Aurdidino1 anurag preetirajesh-sgsitsanurag278
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaRajesh Sola
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitIntel® Software
 
Android Based Robots
Android Based RobotsAndroid Based Robots
Android Based Robotsrobotics25
 
Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Roberto Navoni
 

Similar to Develop, debug and deploy Android and Arduino hardware/software solutions (20)

What is Arduino ?
What is Arduino ?What is Arduino ?
What is Arduino ?
 
4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf4 Introduction to Arduino.pdf
4 Introduction to Arduino.pdf
 
Arduino spooky projects_class1
Arduino spooky projects_class1Arduino spooky projects_class1
Arduino spooky projects_class1
 
Indroduction arduino
Indroduction arduinoIndroduction arduino
Indroduction arduino
 
Indroduction the arduino
Indroduction the arduinoIndroduction the arduino
Indroduction the arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Getting started with arduino uno
Getting started with arduino unoGetting started with arduino uno
Getting started with arduino uno
 
Multipilot pres-ufficiale def
Multipilot pres-ufficiale defMultipilot pres-ufficiale def
Multipilot pres-ufficiale def
 
arduinoedit.pptx
arduinoedit.pptxarduinoedit.pptx
arduinoedit.pptx
 
Introducing... Arduino
Introducing... ArduinoIntroducing... Arduino
Introducing... Arduino
 
Arduino overview - introducing
Arduino overview - introducingArduino overview - introducing
Arduino overview - introducing
 
2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight2015 02 28 DotNetSpain IoT Fight
2015 02 28 DotNetSpain IoT Fight
 
Arduino
ArduinoArduino
Arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino training day 1
Arduino training day 1Arduino training day 1
Arduino training day 1
 
Aurdidino1 anurag preetirajesh-sgsits
Aurdidino1  anurag preetirajesh-sgsitsAurdidino1  anurag preetirajesh-sgsits
Aurdidino1 anurag preetirajesh-sgsits
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
Android Based Robots
Android Based RobotsAndroid Based Robots
Android Based Robots
 
Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011Multipilot pres-ufficiale alpago 2011
Multipilot pres-ufficiale alpago 2011
 

Recently uploaded

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Develop, debug and deploy Android and Arduino hardware/software solutions

  • 1. Development, debug and deploy hardware/software solutions based on Android and Arduino Ilya Rodin Senior Android Engineer Lohika Systems
  • 3. Introduction into Arduino Arduino is… Open-source electronics prototyping platform Open-source development environment A lot of electronics circuit elements, Arduino-base schemes and kits e.t.c 3
  • 4. Hardware Microcontroller ATmega2560 Operating Voltage 5V Input Voltage 7-12V (recommended) Input Voltage (limits) 6-20V 54 (of which 15 provide Digital I/O Pins PWM output) Analog Input Pins 16 DC Current per I/O 40 mA Pin DC Current for 3.3V 50 mA Pin 256 KB of which 8 KB used Flash Memory by bootloader SRAM 8 KB EEPROM 4 KB Clock Speed 16 MHz 4
  • 5. Development environment  Cross-platform Java-base IDE  Simple C++ base language •Begin • Well known language constructions (class, variables, loops, operators, methods, etc…) • You can use already created library setup() (LiquidCrystal, EEPROM, Servo, TinyGPS, erc…) • You can create new library, if it needed…  Simple application life circle loop()  Port Monitor toolkit  etc… 5
  • 6. … and something more  Connection by Digital I/O • PWD • UART • I2C/TWI • SPI devices • DC motors • etc..  Connection by Analog port • Microphone • Sensors • AC drive • etc… 6
  • 8. Android Open Accessory Support in…and higher Android SDK 3.1 (API 12) Google API add-on lib for Android 2.3.4 (API 10) Implemented… USB Host Mode Accessory Mode 8
  • 9. How it is work? 1. Wait for and detect connected devices 2. Determine the device's accessory mode support • The attached device supports Android accessory mode and is already in accessory mode. • The attached device supports Android accessory mode, but it is not in accessory mode. • The attached device does not support Android accessory mode. 3. Attempt to start the device in accessory mode if needed 4. Establish communication with the device if it supports the Android accessory protocol 9
  • 10. AOA 2.0 New products Ids… AOA 1.0 • 0x2D00 – accessory • 0x2D01 – accessory+ADB AOA 2.0 • 0x2D02 – audio New features… • 0x2D03 – audio+ADB Audio output by USB (only for • 0x2D02 – accessory+audio Android 4.1 (API 16) and higher) • 0x2D03 – accessory+audio+ADB Support multi-connection with HID devices 10
  • 11. Trouble… Limitations… High API level Some Android devices do not support Accessory/Host Mode Android Emulator do not support USB Resolving… Try use MicroBridge Mode Try use MicroBridge Mode ×Actually not resolved 11
  • 12. ok, it is clear… ADK ?! O_o
  • 13. Android Development Kit ADK 2011 ADK 2012 13
  • 14. IOIO Spark Fun IOIO it is… Low cost PIC24FJ256-DA206 base platform Support connection by Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART. Support Android 1.5 and higer 14
  • 15.
  • 19. Find out more… http://developer.android.com/tools/adk/ http://www.arduino.cc/ https://github.com/ytai/ioio/ http://code.google.com/p/microbridge/
  • 20. Q&A