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

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
 
My arduino presentation
My arduino presentationMy arduino presentation
My arduino presentation
Sham Arsenal
 

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

Introducing... Arduino
Introducing... ArduinoIntroducing... Arduino
Introducing... Arduino
zvikapika
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
Rajesh Sola
 

Similar to Development, debug and deploy hardware/software solutions based on Android and Arduino (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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

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