Home > USB Central > USB Code
USB Device Code
and Companion Host Software
Links to firmware examples for USB devices and applications that communicate with the devices. Chip providers are another good source for example code.
Generic | Atmel | Cypress | Freescale | FTDI | Microchip
National Semiconductor |
ST-Ericsson/Philips | Firmware-only projects
Other projects
Also see:
Generic Device Firmware
MCCI has USB DataPump firmware that supports many controllers and classes.
Nucleus RTOS includes real-time software components for devices. From Mentor Graphics.
Atmel
AT89C5131 USB micro-controller evaluation firmware using the ALERT embedded real-time OS. From M. J. Bauer.
LUFA (Lightweight USB Framework for AVRs) is an open-source, driver for the AT90USBXXX AVR microcontroller series. From Dean Camera.
Cypress Semiconductor
The EZUSB2131 Project Homepage has projects as well.
USB link neatly measures temperature. Uses the EZ-USB and Visual Basic, no VB source code. From Mary Burke, Analog Devices. From EDN.
USB-serial converter experiments. Taking a converter apart and finding out what's inside and what it can do. From Wim Lewis.
Freescale Semiconductor/Motorola
The USB08 Project Page presents a peripheral design using the HC908JB8. From Oliver Thamm.
FTDI
Embedded USB Design By Example. A free ebook from John Hyde and FTDI.
A Simple USB Oscilloscope for the PC. By Dr Eddie Insam. Uses FTDI's FT8U245AM.
Microchip
M-Stack open source USB device stack for Microchip PICs. From Alan Ott at
Signal 11 Software.
Interacting with Microchip Full Speed USB Demo board using Visual Studio Tools (Visual Basic .NET and Visual C++ .NET). From Vidya Panuganti and others.
ST-Ericsson (formerly Philips)
Note that the PDIUSBD11 has been discontinued.
Nintendo Game Boy Advance USB Interface using a PIC and PDIUSBD12. From Robert Meerman.
Firmware-only projects (no hardware USB controller)
Worlds Smallest Low-speed USB Analyzer (Atapchi) controlled entirely by an Ubicom SX microcontroller (X48BD/TQ). There is no hardware USB controller in this project. USB communications are handled entirely in firmware.
Other projects
Connecting two PCs via USB. The easiest solution by far is to buy a cable with embedded circuits that do it for you such as the FastLynx USB bridge cable from Sewell Development.