SparkFun
IOIO-OTG - V2.2
The IOIO-OTG (pronounced "yo-yo-O-T-G") is a development board that lets Java developers add hardware I/O capabilities to Android or PC applications. A PIC24...
Get notified when back in stock
The IOIO-OTG (pronounced "yo-yo-O-T-G") is a development board that lets Java developers add hardware I/O capabilities to Android or PC applications. A PIC24FJ256 microcontroller bridges your app to low-level peripherals including GPIO, PWM, ADC, I²C, SPI, and UART, all controllable through a Java library.
The OTG (On-The-Go) design supports both USB host and device modes. When connected to an Android device, the board acts as a USB host and supplies charging current. When connected to a PC (Windows, Linux, or macOS), it presents as a virtual serial port and draws power from the host. Attach a USB Bluetooth dongle for wireless connectivity.
Key Features
- USB OTG Support – Auto-detects host or device mode (manual override switch available)
- Java Control Library – Write hardware control code as a standard Java app
- Rich Peripheral Access – GPIO, PWM, ADC, I²C, SPI, and UART
- Cross-Platform – Works with Android, Windows, Linux, and macOS
- Bluetooth Ready – Connect a USB Bluetooth dongle for wireless serial
- LiPo Battery Connector – JST connector with adjustable charge current (trimpot)
- Field-Upgradeable Firmware – Update via the IOIODude application (no programmer needed)
Ideal For
- Android hardware accessories and peripherals
- PC-based data acquisition and control
- Robotics with Java-based control software
- Rapid prototyping of USB-connected hardware
Package Contents
- 1× IOIO-OTG Development Board (V2.2b)
- 1× USB Female-A to Micro-A OTG cable
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- ADC
- An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- LiPo
- A LiPo (lithium polymer) battery is a rechargeable lithium battery widely used in portable projects because it is light and compact. LiPo cells need correct charging circuitry and careful handling to stay safe, so equipment that supports LiPo generally includes charging or protection hardware suited to that battery type.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- UART
- UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.
- USB host
- A USB host is the side of a USB connection that controls attached devices, like a computer talking to a keyboard or flash drive. This matters because most microcontroller boards are normally USB devices, so adding USB host support lets them use common USB peripherals.
Find this product in
Brands
STEM & Education
IOIO-OTG V2.2 Schematic
Schematic · 103.7 KB · Click any page to view full size
PIC24FJ256 Datasheet
Datasheet · 3.0 MB · Click any page to view full size
IOIO-OTG Connection Application Note
Document · 132.3 KB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 567.4 KB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Source Code
Open-source libraries, firmware & example projects for this product
Development Board for Android
efb0569
about 10 years ago
· 87 commits
- Hardware Removing old files, adding license and .git files, updating README with product and tutorial links about 10 years ago
- Production created panel v22b over 10 years ago
- .gitattributes Removing old files, adding license and .git files, updating README with product and tutorial links about 10 years ago
- .gitignore Initial commit - gitignore, .brd and .sch almost 13 years ago
- LICENSE.md Removing old files, adding license and .git files, updating README with product and tutorial links about 10 years ago
- README.md Removing old files, adding license and .git files, updating README with product and tutorial links about 10 years ago
Software, firmware and hardware of the IOIO - I/O for Android
06ccbef
4 months ago
· 1.5k commits
- .github Bump actions/upload-artifact from 6 to 7 4 months ago
- .idea Modernize screenshots over 3 years ago
- applications Prepare kts build about 1 year ago
- driver Add signed windows driver about 10 years ago
- firmware Change project structure almost 6 years ago
- gradle Update Gradle Wrapper from 8.13 to 8.14.3 about 1 year ago
- hardware Seed logo over 10 years ago
- IOIOBridge Prepare kts build about 1 year ago
- IOIODude Prepare kts build about 1 year ago
- IOIOLibAndroid Prepare kts build about 1 year ago
- IOIOLibAndroidAccessory Prepare kts build about 1 year ago
- IOIOLibAndroidBluetooth Prepare kts build about 1 year ago
- IOIOLibAndroidDevice Prepare kts build about 1 year ago
- IOIOLibCore Prepare kts build about 1 year ago
- IOIOLibPC Prepare kts build about 1 year ago
Related Tutorials
Free guides on learn.littlebird.com.au