Home > USB Central > USB OTG and Embedded Hosts
USB OTG and Embedded Hosts
Every USB communication is between a host and a device. Devices can't communicate with each other directly. (An exception is USB 3.0's crossover cable for SuperSpeed host-to-host communications.) But not every USB host is a complete, general-purpose desktop or notebook computer.
The On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification defines requirements for embedded systems that function as USB hosts, including USB On-The-Go (OTG) devices, which can function as both a device and as a scaled-back host (but not both at the same time).
My Code | Chips | Other Code | USB OTG
The USB On-The-Go webpage has the specification and other information.
News
USB Embedded Hosts: The Developer's Guide is available. Details.
My Code
Linux
BeagleBone Getting Started Guide
Linux code for accessing USB devices.
Guide to using Eclipse to Cross-compile for the BeagleBoard-xM and other embedded systems.
Access USB Devices from a Linux USB Embedded Host (article)
.NET Micro Framework
Touch screen data logger project with flash drive and serial-port GPS interface. Uses the .NET Micro Framework and a ChipworkX board from GHI Electronics.
Program Small Devices with Big Abilities (my article about using the .NET Micro Framework)
Chips
Chips with built-in support for host functions
The Vinculum II from FTDI is a programmable microcontroller with an embedded host controller and an API for accessing devices. The VNC1L (Vinculum I) is a host controller that supports a command set for accessing USB devices via a UART, SPI, or parallel interface. From FTDI. Embedded USB Design By Example is a free ebook from John Hyde and FTDI.
The ALFAT chip contains a host controller and built-in support for accessing mass-storage devices, HIDs, printers, and more. Microcontrollers can communicate with the ALFAT over a UART, SPI, or I2C interface. From GHI Electronics.
.NET Micro Framework modules with USB host support from GHI Electronics.
Microcontrollers with USB host ports
Cypress Semiconductor. Search the site for "USB host".
Microchip Technology PIC24 and PIC32 series.
USB host interface chips
Broadcom Limited (acquired PLX Technology)
Maxim Semiconductor MAX3421E.
Embedded PC
The BeagleBoard has a high-speed OTG port and can run Linux and Windows Embedded.
Other sources for embedded PCs with USB host hardware are Digi International Inc. and EMAC, Inc.
Code
The AVR USB project is creating a software-only USB stack for Atmel's AVR devices and a matching driver for GNU/Linux.
Nucleus RTOS includes real-time software components for USB hosts and devices. From Mentor Graphics.
HCC Embedded has embedded-host and OTG stacks.
MCCI has embedded-host and OTG firmware.
Micro Digital has the smxUSBD USB Host Stack.
On Time Software's RTUSB-32 is a USB host protocol stack for embedded systems with full source code available.
USB OTG
Understanding USB On-The-Go by Kosta Koeman (EDN).
USB On-The-Go Basics. From Dallas Semiconductor/Maxim.
USB On-The-Go: a Tutorial. From Philips Semiconductors. (PDF)
USB Multi-Role Device Design By Example by John Hyde. (PDF).