IOIO-Q : Android I/O board introduction The heart of IOIO-BOT is IOIO-Q Android input output board. IOIO-Q is compatible with IOIO (pronounced “yo-yo”) original board (or IOIO V1) that designed by Ytai; Israel computer engineer.The IOIO-Q is re-designed and produced by Innovative Experiment Co.,Ltd (INEX- www.inex.co.th / www.inexglobal.com).
Page 6
However, most simple ones do work. The bundled Bluetooth dongle in IOIO-BOT kit is tested and work well. An existing application code written to work over USB does not need to change to add Bluetooth support, if it is using the IOIOLib Application Framework.
Page 8
IOIO-BOT : Android Robotics Firmware IOIO-Q Input Analog C bus Compare Peripheral Peripheral program- Output inout output input support input med pin ...
Page 9
IOIO-BOT : Android Robotics Firmware Input Analog C bus Compare Peripheral Peripheral IOIO-Q program- Output Input output input support input med pin ...
Page 10
IOIO-BOT : Android Robotics 1.1 IOIO-Q technical features IOIO-Q I/O board is compatible with the original IOIO V1.0 board. The mainly features also similar the original IOIO board. Except the supply voltage rating and some special pin layout for supporting the firmware programming with external programmer such as PICkit3 easier.Figure 1-1 shows the hardware layout of the IOIO-Q board.
Page 11
IOIO-BOT : Android Robotics 1.2 IOIO-Q schematic diagram Figrue 1-2 illustrates fully IOIO-Q schematic diagram. The heart of IOIO-Q is IC1 a preprogrammed IOIO firmware microcontroller; PIC24FJ128DA. The main different from the original IOIO board is power supply section. In IOIO-Q board use linear regulator circuit.
IOIO-BOT : Android Robotics Chapter 2 Android development tools installation To develop applications for Android device, developers are required to download software tools from internet to be installed on computer. Then start developing application to Android devices. The key software is as follows : 1.
Page 14
IOIO-BOT : Android Robotics 2.2.1.1 Java Runtime Environment (JRE) installation (1) If the computer is installed Java Runtime Environment (JRE) or Java Development Kit (JDK) already but it is an old version. Must uninstall it then restart the computer after the uninstall is complete.
Page 15
IOIO-BOT : Android Robotics (3) Download the operating system used. In this example is Windows 8.1 in 64-bit. Choose to download a Windows x64. (4) Run the installation file and click on Install button to start.
Page 16
IOIO-BOT : Android Robotics (5) Wait until instalaltion is completed. Click on the Close button to finish. 2.2.1.2 Android Development Tools (ADT) installation (1) Download the Android Development Tools (ADT) from http://developer. android. com/sdk/index.html. Click on the Download the SDK ADT Bundle for Windows button.
Page 17
IOIO-BOT : Android Robotics (2) Click the checkmark in the box I have read and agree with the above terms and conditions. Then choose the version of the operating system 32 or 64 bits. Next, click on the Download the SDK ADT Bundle for Windows button to start downloading.
Page 18
IOIO-BOT : Android Robotics (4) Enter the ADT software folder to open the file ; Eclipse.exe (5) Run the program. Eclipse logo will be appeared shortly. Next, the main window; Workspace Launcher is appeared. It is window that determines the development of Java applications folder to store the created files.
Page 19
IOIO-BOT : Android Robotics (6) ADT program will be open with the Welcome window. It is installation completely.
Page 20
IOIO-BOT : Android Robotics 2.2.2 How to installation on Mac OS To install on Mac OSX Mavericks 10.9 will not install the Java Runtime Environment (JRE) because the Mac OS operating system is installed successfully. 2.2.2.1 Android Development Tools (ADT) installation (1) Download the Android Development Tools (ADT) from http://developer.android.
Page 21
IOIO-BOT : Android Robotics (3) Double-click at file to extract. (4) Enter to the ADT folder. Run the Eclipse executre file.
Page 22
IOIO-BOT : Android Robotics (5) Run the program. Eclipse logo will be appeared shortly following the main window; Workspace Launcher is appeared. It is window that determines the development of Java applications folder to store the created files. In this example is C:\User\user\workspace.
IOIO Robotic Activity Board introduction One of important component of IOIO-BOT is IOIO-RAB (IOIO Robotic Activity Board). It includes the socket for installtion IOIO or IOIO-Q board, power supply circuit, DC motor driver mini-board and Servo motor connector. This chapter describes about technical details of IOIO-RAB before go to building the IOIO-BOT in next chapter.
Page 24
IOIO-BOT : Android Robotics 3.1 IOIO-RAB technical features Socket for installation both IOIO and IOIO-Q. The IOIO-Q is recommended for IOIO-BOT Left orientation photo 8 of Analog input connector in 3-pin of JST 2.00mm. type. The AN0 to AN5 input ...
Page 25
IOIO-BOT : Android Robotics +5V output connector and +3.3V used from IOIO-Q board 4 of Servo motor connectors with +6V servo motor regulator circuit. They are connected with I/O-pin45 to 48 of IOIO-Q 6 of DC motor output by using 3 of mini-TB6612 boards with motor indicators.
Page 26
IOIO-BOT : Android Robotics 3.2 IOIO-RAB schematic diagram and how it work Figure 3-2 illustrates the IOIO-Robotic Activity Board (IOIO-RAB) schematic diagram. It is quite simple circuit. There are 2 of +6V voltage regulator by using IC2 and IC3;...
Page 27
IOIO-BOT : Android Robotics Figure 3-3 : The mini-TB6612 DC motor driver mini-board that used in IOIO-RAB for driving the DC motor. Totally are 6 channels. Low battery monitor circuit is very important in case using the Li-PO battery. If the supply voltage is below +3.5V, IC1 the battery monitor IC;...
Page 28
IOIO-RAB provides one of piezo speaker. It is connected with IOIO-Q I/O-pin27 via C7 capacitor In normal operation and in IOIO-BOT, user must plug the IOIO-Q board on top of IOIO-RAB. Plug the Bluetooth dongle at IOIO-Q’s USB connector. Apply the supply voltage to suitable battery connector.
This is the first Android-controlled robotics kit. With IOIO-Q that the interface board for Android mobile device and IOIO-Robotic Activity Board (IOIO-RAB) and some mechanical parts; you can build and control the IOIO-BOT over Bluetooth or USB. The kits provides all parts and building instructions for everybody who interest to use Android mobile devices in Robotics ! The control application is free downloaded from Google Play Store.
Page 30
IOIO-BOT : Android Robotics 4.2 IOIO-BOT part list IOIO-Q x 1 ATX chasis x 1 Battery holder 5AA with wires x 1 IOIO-RAB x 1 Tamiya hub x 4 Spike wheels and tires x 4 BO1-48 DC motor gearbox x 4...
Page 31
IOIO-BOT : Android Robotics 4.3 IOIO-BOT buidling (4.3.1) Spike wheel assembly : Insert spike tire to wheel. Do all 4 sets Insert tire to wheel Insert 3x10mm. screw to hub Spike wheel and tire set (4.3.2) Fix the hub to wheel by using 3 sets of 3 10mm.
Page 32
IOIO-BOT : Android Robotics (4.3.3) Attach the metal angle bracket 2x3N with ATX chasis by using 8 sets of 3x6mm. screws and 3mm. nuts at the position following the picture below. The bracket is placed under the chasis and insert screw from top side through the hole of ATX chasis (4.3.4) Mount the DC motoe gearbox at each bracket.
Page 33
IOIO-BOT : Android Robotics (4.3.5) Attach 2 pieces of the metal angle bracket 2 5 by using 3 6mm. screws and 3mm. nuts following the picture below. Do the same for 2 sets back 3mm. nuts 3x6mm. screws Front (4.3.6) Mount the assemblied bracket from step (4.3.5) with the DC motor gearboxes.
Page 34
IOIO-BOT : Android Robotics (4.3.8) Insert the spike wheel with DC motor gearbox shaft. Tighten with 2mm. tapping screw. Do all 4 wheels. (4.3.9) Insert the motor cables through the large hole beside the battery holder to the top of chasis.
Page 35
IOIO-BOT : Android Robotics (4.3.11) Attach the parts from step (4.310) with the robot chasis following the picture below. The position is oppsite with standoff. Next, mount the IOIO-RAB with both brackets by using 3x10mm. screws and 3 mm. nuts (4.3.12) Connect the battery holder wires to IOIO-RAB at battery terminal.
Page 36
IOIO-BOT : Android Robotics (4.3.13) Put 5 of AA battery into the battery holder. Possible to use Alcaline or Rechargeable battery. However possible to use the Li-PO battery pack. If using Li-PO battery pack, connection the battery to DEAN connector is recommended.
Page 37
Back left motor connect with M5 output - Red pole is outside and black pole is inside. Front left motor connect with M6 output - Red pole is outside and black pole is inside. Finally, plug the IOIO-Q board on the IOIO-RAB. Now IOIO-BOT is finished and ready for working with Android device !
Chapter 5 IOIO-BOT interface testing with Android device There are 2 cases for testing the interfacing between IOIO-BOT with Android device; via USB port using the microUSB cable and wirelessly over Bluetooth 5.1 Android device preparation Whether the connection with the IOIO-BOT of Android device will be wired or wireless.
Page 40
IOIO-BOT : Android Robotics 5.1.2 Android 4.0 Ice Cream Sandwich or higher Enter to menu Developer options Tab to check mark at USB Debugging following the figure 5-2 Figure 5-2 : Example of how to enable the USB Debugging of the Android...
Page 41
IOIO-BOT : Android Robotics 5.1.3 Android OS that higher version 4.2 and cannot find the menu in step 5.1.2 Since the menu is hidden. Need to activate it by selecting Settings> About phone or tablet. Then tap the Build number 7 times. A message pops up that says the user is then developer.
Page 42
5.3 Interfacing Android device with IOIO-BOT wirelessly over Bluetooth (5.3.1) Plug the USB Bluetooth dongle to USB connectot of IOIO-Q on the IOIO-BOT following the figure 5-5. The Status LED will blink shortly at once. (5.3.2) At the Android device, select to menu Setting > Wireless and Networks >...
Page 43
IOIO-BOT : Android Robotics Figure 5-6 : Procedure about paring the Bluetooth connection between IOIO- BOT and Android device (5.3.3) In paring the Bluetooth devices require the pairing code. It is 4545. Type this code in the box and tap OK button.
Page 44
(5.4.4) On Android device found the Bluetooth dongle, do not pair at thid time. Remove the Bluetooth dongle from the computer then plug to the IOIO-Q board. All steps in this section must be carried out continuously and apply the supply voltage to IOIO-BOT all the time.
Page 45
IOIO-BOT : Android Robotics Figure 5-7 : Summary of steps about Android device cannot found the Bluetooth dongle troubleshooting...
When used the IOIO-Q board with some mechanical parts and motor driver circuits are ideal for learning about simple robotics that control with Android devices wirelessly via Bluetooth. That is the origin of the IOIO-BOT; the robot controlled by Android device.
Page 48
IOIO-BOT’s motor on IOIO-Bot app 6.2 IOIO-BOT movement control by IOIO-Bot app For motor control using slider in IOIO-Bot app helps to adjust the motor’s speed easy. The center position was selected for the motor stop. The top and bottom of the chosen choose maximum speed with opposite direction.
Page 49
IOIO-BOT : Android Robotics By controlling both motor operations separately, It causes many movement direction for IOIO-BOT. It also determines the speed during movement easy. See the summary of movement in figure 6-4 Figure 6-4 : IOIO-BOT movement direction control by IOIO-Bot app...
Page 50
IOIO-BOT : Android Robotics 6.3 IOIO-Bot application - How it work ? About the operation of IOIO-Bot app should be explain as 2 parts. One is Android device operation and IOIO-Q operation. Refer the flowchart in figure 6-5 in explanation.
Page 52
100. It is duty cycle of PWM signal of motor driver. For IOIO-Q, PWM determination is 0 to 1. Then divide the value by 100. If duty cycle is 50%, the PWM value for IOIO-Q is 0.5. Figure 6-6 : Slider of motor controller image that used in the IOIO-Bot app...
Page 53
IOIO-BOT : Android Robotics In case Up condition, it is stop motor. It means IOIO-BOT have to stop. The duty cycle is clear to 0. The slider position is set to center of Linear Layout. The duty cycle value is stored to dutyLeft and dutyRight variable depend on touching side of controller.
Page 54
Try to remove motor cable from IOIO-RAB and run again. If LED operate correct and do not work after plug the motor cable back to IOIO-BOT, It might be due to insufficient power. Check the battery or change if necessary.
Need help?
Do you have a question about the IOIO-BOT and is the answer not in the manual?
Questions and answers