Lakeview Research home > USB Central > USB Code
USB Code
Firmware and Related Applications
Jan Axelson
This page contains links to various code examples for USB devices and the applications that communicate with them. Device manufacturers are another good source for example code.
WinUSB
Microsoft's driver for communicating with vendor-specific devices on Vista and XP.
HID Class
Human Interface Devices, often used in vendor-specific applications.
Other Example Firmware and Projects
Device firmware using a variety of controller chips, and sometimes no USB controller chip at all.
Generic Device Firmware
The USB DataPump firmware supports many controllers and classes. From MCCI.
Nucleus USB includes real-time software components for devices. From Accelerated Technology.
Atmel
AT89C5131 USB micro-controller evaluation firmware using the ALERT embedded real-time OS. From M. J. Bauer.
yampp is an on-going project to design MP3 players with USB interfaces. From Jesper Hansen.
Cypress Semiconductor
SourceForge.net has EZ-USB example code and driver code, mostly for Linux.
The EZUSB2131 Project Homepage has projects as well.
USB link neatly measures temperature. Uses the EZ-USB and Visual Basic, but the VB source code isn't included. From Mary Burke, Analog Devices. Hosted by 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 Chip
A Simple USB Oscilloscope for the PC. By Dr Eddie Insam. Uses FTDI's FT8U245AM.
USB on a Basic Stamp. Using FTDI Chip's controller. From Lennard Electronics.
Microchip
Using Microchip's generic driver with C# .NET Applications. From Mat at PICcoder.co.uk.
Interacting with Microchip Full Speed USB Demo board using Visual Studio Tools (Visual Basic .NET and Visual C++ .NET). From Vidya Panuganti and others.
National Semiconductor
usbn2mc library for the USBN9603/04 . From Benedikt Sauter.
USBGPS OpenSource Project. A GPS receiver using Dallas Semiconductor's DS89C420 and National Semiconductor's USBN9603. From Yu Lu.
Philips PDIUSBD11 and PDIUSBD12
The PDIUSBD11 and PDIUSBD12 from Philips have been opular USB controllers that can interface to just about any microcontroller or other CPU. The 'D11 has an I2C serial interface but has been discontinued. The 'D12 has a parallel interface. These are some sources for example firmware:
PDIUSBD12 firmware library. From M. J. Bauer.
Craig Peacock's Beyond Logic has an article The Philips PDIUSBD11 USB Peripheral with I2C Serial Interface that will help in understanding the data sheet and an example project with a 'D11 interfaced to a PICMicro 16F87x.
John Hyde's Buttons and Lights example using an 8051 with the 'D11 and 'D12.
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.
A firmware-only low-speed device using the Atmel AVR Microcontroller. From Objective Development Software GmbH.
Other Projects
If you want to connect two PCs via USB, the easiest solution by far is to buy a cable with embedded circuits that do it for you from Sewell Development or other sources.
