Table of Contents
The Universal Serial Bus (USB) is the most widely used bus in today's computer. USB has particularly been designed to standardize connections between the computer and peripherals. For instance, keyboards, mice, USB audio devices, printers, scanners, disk drives or cameras can use the same bus to exchange data with a computer.
A USB host stack has been developed in order to be communicate with USB devices.
Library in Beta!
This library is in Beta. If you have any problems using the USBHost library, please send a bug report at firstname.lastname@example.org
Boards supporting USB Host¶
Mbed as USB Host¶
The USBHostMouse class allows to communicate with a USB mouse:
- read mouse position
- read buttons state
- read scroll state
For more information, please visit: USBHostMouse
The USBHostKeyboard class allows to communicate with a USB keyboard:
- read keycode pressed
- read modifier pressed
For more information, please visit: USBHostKeyboard
The USBHostMSD interface is used to read/write a USB flash drive.
For more information, please visit: USBHostMSD
The USBHostSerial class uses the USB interface to communicate with a virtual serial port usb device.
For more information, please visit: USBHostSerial
You can connect several devices to your mbed using a USB hub. Hubs are automatically detected by the USBHost stack so no need to change your programs if you are using a hub!
For more information, please visit: USBHostHub
Library in development¶
This library is currently in development.
- Currently the stack supports:
- Mouse class
- Keyboard class
- MSD class
- Serial class
- Hub auto detection
- What can be developed:
- Support of isochronous endpoints
- Bluetooth class
- Webcam class
It would be great if the USBHost stack development involves several developers. There is plenty of work to be done such as:
- core modification by adding isochronous endpoint support
- develop drivers on top of the USBHost stack
Any contribution from the mbed community would be greatly appreciated!