SlideShare a Scribd company logo
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
Development, debug and deploy hardware/software solutions based on Android and Arduino
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

PPSX
Controlling and monitoring external embedded device using android frameworks ...
PDF
Hacktime for adk
PDF
Leveraging the Android Open Accessory Protocol
PDF
Android Open Accessory Protocol - Turn Your Linux machine as ADK
PPTX
Android Open Accessory APIs
PPTX
Arduino camera interfacing OV7670
PDF
Go Green - Save Power
PPTX
Controlling an Arduino with Android
Controlling and monitoring external embedded device using android frameworks ...
Hacktime for adk
Leveraging the Android Open Accessory Protocol
Android Open Accessory Protocol - Turn Your Linux machine as ADK
Android Open Accessory APIs
Arduino camera interfacing OV7670
Go Green - Save Power
Controlling an Arduino with Android

What's hot (18)

PPTX
Arduino Programming Software Development
PDF
Smartphone++
DOCX
PPTX
Arduino day
PPTX
Arduino: On-board components description, IDE and Programming
PPTX
PDF
Introducing the Arduino
PPTX
Developing a NodeBot using Intel XDK IoT Edition
PPTX
IoT Devices, Which One Is Right for You to Learn?
PPTX
Basics of open source embedded development board (
PDF
Ardunio
PPTX
Monitoring Temperature Room With Display LCD and Data Recording
PPTX
My arduino presentation
PDF
Road to RIoT 2017 Medan
PDF
MicroEJ OS for IoT devices
PPTX
PPTX
Introduction to Internet of Things Hardware
PPTX
Arduino Uno Board - Robomart
Arduino Programming Software Development
Smartphone++
Arduino day
Arduino: On-board components description, IDE and Programming
Introducing the Arduino
Developing a NodeBot using Intel XDK IoT Edition
IoT Devices, Which One Is Right for You to Learn?
Basics of open source embedded development board (
Ardunio
Monitoring Temperature Room With Display LCD and Data Recording
My arduino presentation
Road to RIoT 2017 Medan
MicroEJ OS for IoT devices
Introduction to Internet of Things Hardware
Arduino Uno Board - Robomart
Ad

Similar to Development, debug and deploy hardware/software solutions based on Android and Arduino (20)

PDF
Arduino talk
PDF
Arduino talk
PDF
Arduino talk
PDF
IOTC08 The Arduino Platform
PDF
Better With Friends: Android+NFC+Arduino
ODP
Android Based Robots
PDF
Android のusb support
KEY
I/O 2011 報告会 ADKで遊んでみた
PDF
Workshop @ Make: Tokyo Meeting 02
PDF
67WS Event FIO Primer
PDF
Talk @ Make: Tokyo Meeting 02
PDF
Arduino learning
PDF
IGEP COM ELECTRON
PDF
KiwiBoard: Open Hardware with Android
PDF
Android project
PDF
Programming objects with android
PPTX
Capabilities of Arduino (including Due)
PPTX
Introduction to the Arduino
PDF
aoa-adk-osidays-rajeshsola
PDF
Making things sense - Day 1 (May 2011)
Arduino talk
Arduino talk
Arduino talk
IOTC08 The Arduino Platform
Better With Friends: Android+NFC+Arduino
Android Based Robots
Android のusb support
I/O 2011 報告会 ADKで遊んでみた
Workshop @ Make: Tokyo Meeting 02
67WS Event FIO Primer
Talk @ Make: Tokyo Meeting 02
Arduino learning
IGEP COM ELECTRON
KiwiBoard: Open Hardware with Android
Android project
Programming objects with android
Capabilities of Arduino (including Due)
Introduction to the Arduino
aoa-adk-osidays-rajeshsola
Making things sense - Day 1 (May 2011)
Ad

Recently uploaded (20)

PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
project resource management chapter-09.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
The various Industrial Revolutions .pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
Module 1.ppt Iot fundamentals and Architecture
Final SEM Unit 1 for mit wpu at pune .pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
WOOl fibre morphology and structure.pdf for textiles
NewMind AI Weekly Chronicles - August'25-Week II
A novel scalable deep ensemble learning framework for big data classification...
project resource management chapter-09.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Getting started with AI Agents and Multi-Agent Systems
observCloud-Native Containerability and monitoring.pptx
Group 1 Presentation -Planning and Decision Making .pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
The various Industrial Revolutions .pptx
1. Introduction to Computer Programming.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Hybrid model detection and classification of lung cancer
Univ-Connecticut-ChatGPT-Presentaion.pdf
Enhancing emotion recognition model for a student engagement use case through...

Development, debug and deploy hardware/software solutions based on Android and Arduino

  • 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
  • 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