Home Parallel Port Serial Port USB .NET Webboard I/O Today API Project Link

USB Source

The source of article,documents,informations and links to material in the
Universal Serial Bus (USB)
The USB page has inculde many links to information and code for USB developers.

Serial Ports Center
Detailed Explanations On Interfacing Extend RS232/422/485 Ports PCI, USB, PCMCIA, ISA Multiports .

Omron PLC Lernning
PLC Programming and Communication. Includes Articles and Informations.

Menu -->   Basics |Device Hardware| Development Tools   |   Specification Info | USB On-The-Go |
Host SoftwareUSB Icon | For End Users | Articles, Books & Other Information Sources


USB Central
has a directory of USB products and resource links.

USB Hardware Webpage
Plus all USB informations and hardware products.

has a developer's page with many links.

USB developer
has tutorials and information about USB chips from Philips.

Answers to some FAQ(Frequently Asked Questions) and other web links.

USB Developer's FAQ by www.lvr.com
answers some frequently asked questions in developing USB devices and the software to access them.

The Forum of USB Implementer of The Developers Home that has many links to all kinds of useful information, including the USB specification, tools, documents, and more. The forum also sponsors a Developers Discussion Forum.

Jack Ganssle's "An Introduction to USB Development
" from Embedded Systems Programming.

UVC View
is billed as a diagnostic tool for USB video-class hardware.
In fact it's a general-purpose tool based on USBView in the Windows DDK.
The tool present the tree of all USB hubs and connected devices
and each device's descriptors, with additional support
for video devices. By Microsoft. No source code.

Device Hardware

Information in the chips inside USB peripherals ,including the code for controls the chips, and various tools for developing.

Changes from USB Revision 1.0 to USB Revision 1.1 (MS Word file). From Mindshare.

PoweredUSB is an initiative to enable USB devices to draw more than 500mA from the cable.


IBH doran homepage is show a detailed but outdated set of links to vendors of USB chips and other USB-related products for developers.

My article on Chip Choices will help you decide.

Craig Peacock has descriptions of USB 1.1 Integrated Circuits and USB 2.0 Integrated Circuits.

Development Boards

Has many of the products include a computer board containing a USB chip and related circuits. All include a host driver (when needed),device firmware and a host application or documentation on "how to access the USB board". Chip Manufacturer also provides development boards for their hardware. This boards below are listed alphabetically by company.

QuickUSB Plug-In Module has a high-speed USB interface and comes with a custom driver. From Bitwise Systems.

BrainTechnology's USB Modul (in German).

ActiveWire-USB is a PC board with an EZ-USB, inculde all drivers and example application code that enables you to do basic I/O without having to write a driver or firmware. Drivers for Windows, Linux , and more available.

The Spartan II from Cesys is available with a high-speed or full-speed Cypress USB controller.

I/O-Warrior has 32 generic I/O pins and a driver to enable accessing them. The chip is a Cypress CY7C6341. Also available: MouseWarrior, KeyWarrior, and JoyWarrior. From CodeMercs.

Board of USBee EX Experimenter has 8 I/O pins and contains a Cypress full-speed EZ-USB AN2135SC.The USBee EX 2.0 Experimenter's Board is a high-speed version. From CWAV.

TM1000 Peripheral Instrument System of Data Design Corporation included a USB device with digital I/O and a driver suitable for use with instrumentation and other custom designs. The product is no longer available, but Data Design has released all of the design details to the public domain.

Delcom Engineering Website has programmed USB chips with a device driver that enables reading and writing to up to 16 port bits that is able include an asynchronous serial port and I2C port. The chips are Cypress 63000 series. Development boards also available.

USBI2CIO Board has a Cypress EZ-USB chip, digital I/O, and an I2C interface. From DeVaSys Embedded Systems.

Dimax has a PC To I2C Bridge U2C-11 USB Solution with Windows and Linux drivers.

DLP Design has PC boards with a PIC and FTDI's USB chip.

Dontronics has modules that use FTDI's chips, the Micro-USB module based on the Silicon Laboratories CP2101-CP2102, and more.

EasyFPGA Website has Altera Acex and Xilinx Spartan-II FPGAs. This boards is use USB chips from FTDI Chip.

Erlich Industrial Development Corp. has boards with interfaces to temperature sensors, EEPROM, ADC, parallel I/O, I2C, SPI. Includes device firmware and a DLL for accessing the device.

Softmark's Producthas a variety of kits that each include a PC board with components for a project with a USB interface and another I/O interface (parallel, stepper motor, and more devices.) Windows software to access the board.

USB-inSync OEM Board of FiberByte Company supports synchronous triggering and sampling.

The USBSimm is an inexpensive PC board with a Cypress EZ-USB chip and support circuits. By J. Gordon Electronic Design Group.

Opel Kelly Company has the XEM3001 - Xilinx Spartan 3 Experimentation Module with USB interface.

U401 of USBmicro Company USB interface is a Computer board with Cypress's CY7C63743 enCoRe-series microcontroller. The board uses HID drivers and has a custom command set for easy access of the controller's 16 I/O pins, SPI interface, and controlling LCD modules.


Generic Drivers

Tetradyne's DriverX USB enables accessing devices using all transfer types. No DDK required.Includes support for C/C++, Delphi, and Visual Basic.

Thesycon's USBIO allows access to all USB devices from user mode. Free demo.

Wdmaudiodev is an email discussion group for WDM audio driver developers.

USB 1.x/2.0 Generic Device Driver from Andrew Pargeter & Associates.

The Java USB API will allow Java applications to communicate with and manipulate USB devices. The specification is in progress. From the Java Community Process.

Libusb-win32 is an open-source driver library that enables Windows applications to access USB devices (under development). SharpUSBLib is a wrapper around the libusb project for .NET.

RapidDriver generic driver for parallel-port, USB, and other devices. From EnTech Taiwan.

Cypress EZ-USB chips can use the new cyusb driver included in the CY4604 USB Developer's uStudio.

WinUSB is a generic USB driver that Microsoft is promising for its Vista (Longhorn) operating system. The driver will enable applications to access devices that don't fit into a defined class. Simplified USB Function Driver (PPT).

Other Drivers

Using USB devices with Labview and LabWindows/CVI.

Writing WDM drivers

Resources that can help if you're writing a custom driver:

Microsoft's Windows DDK (Driver Development Kit) has information on writing drivers, and example drivers. The kit on CD is free except for a shipping charge. The Windows DDK is also available now as a download as part of the Kernel-Mode Driver Framework. The download is an ISO image that you need to burn to a CD or DVD. The The DDK documentation is available online from OSR Online.

Dan Norton's Device Driver Development site has many useful links.

Jungo.com's WinDriver USB is an enhanced version of Jungo's Driverwizard, which enables developing driver code in user mode and later moving it to kernel mode.

Compuware (Numega)'s DriverStudio suite simplifies the writing of USB drivers.

If you need to support Windows NT, see Jungo's WinDriver USB for Windows NT and Inside Out Networks' EdgeUSB. These products enable using the same code to compile a driver for NT4 as well as Win98. Woodhead also has an NT driver available for download..

Also see my book reviews below.

Discontinued: BSQUARE's WinRT for USB and WinDK toolkit. These products are no longer available due to a change in ownership and focus for the company.

USB to RS-232 and RS-485 Solutions

FTDI Chip provides virtual COM drivers with its chips, to make the USB device look to the host software like a COM (RS-232) port.

Micro Digital's smxUSBD USB Device Stack includes a serial-port class emulator.

Sealevel Systems has USB-RS-232/RS-485 converters.

AVIT Research's USB to TTL Serial Cable uses a Cygnal chip.

USB EasyTap of High Tech Horizon Company is a USB/RS-232 solution using FTDI's USB UART.

B&B Electronics has USB-RS-232/RS-485 converters

MEV has a USB-to-RS-232 converter and a USB-to-RS-485 converter with an isolated RS-485 interface.

How to achieve speed of 128 kB/sec. with Microchip CDC firmware (PIC18F4550 firmware + Borland Builder 6 application). From Tomasz Ostrowski.

USB Communication Device Class - Migration from RS-232 to USB. Application note from Atmel.

Communication Device Class (CDC) firmware and application note for the Microchip PIC18F4550.

USB to I2C and SPI Modules

Some of the general-purpose development boards above also support I2C and SPI interfaces.

TIMS-0102 USB to I2C and SPI Adapter. From Jova Solutions.

I2C and SPI Host Adapters. From Total Phase.

Data Acquisition Modules

The Sources for modules with digital I/O, ADCs, DACs, relay outputs,and more devices.


LabJack Corporation

Measurement Computing

Sealevel Systems

For Legacy Devices

USB-IrDA converter of SigmaTel Company enables a PC to use its USB port for IrDA communications.

MCCI Website has drivers for COM ports, networking, printing, and a general-purpose USB driver.

ibh doran's chip list has many dedicated function chips for parallel ports, etc. This list hasn't been updated in some time, however.

The Cables and Extenders

Bulgin Components PLC has a Buccaneer series of environmentally sealed connectors that includes connectors for USB.

Icron Technologies has development boards and complete systems for extending USB's range to up to 500 meters.

Atek Company has cables and will do custom assemblies.

Optical USB Extension Cables for low- or full-speed connections of up to 46 meters without hubs. From Opticis Co., Ltd.

Accessing Devices over a Network. Two hardware options are AnywhereUSB from Inside Out Networks and USB Serverfrom Keyspan website. A software-only option is USB over Network from FabulaTech, Inc.

Black Box has USB X-Tenders for links of up to 1000 feet.

USB Connectors

The Sources for connectors include Digi-Key,Acon, , Tyco, Molex, Norcomp, Oupin,Newnex,.

Isolated USB

Opticis has USB fiber-optic cables.

Icron Company has an Isolated USB Design License Agreement (schematics, bill of materials, etc. "based on CPLD technology."

B & B Electronics has an optoisolated USB hub.

Class Drivers

In case you don't have to write a driver because Windows provides one. USB drivers included with each edition of Windows

Human Interface Devices (HID)

See the HID Page.

Device Firmware Upgrade

STMicroelectronics has a Device Firmware Upgrade (DFU) implementation for ST7 USB applications.

Mass Storage

See the Mass Storage Page.

Windows Issues

Microsoft frequently changes the URLs of its content. If any of these links are broken, search microsoft.com for the name of the link (such as "USB Architecture").

Microsoft's USB Architecture page for developers has links to various Windows-related documentation, including a couple of FAQs.

Microsoft's article USB Support on Windows 98 explains the differences between the USB support in Windows 95 and 98.

Setup Classes Versus Interface Classes. All about GUIDS. From Microsoft.

Windows Logo Program for Hardware. This is different from the Implementers Forum's Certified USB Logo.

Other Host Applications

Capture Video from a USB camera in Java. From David Fischer.

INF Files

Every USB device attached to a Windows host must have an INF file that tells the Device Manager which driver to assign to the device.

Microsoft frequently changes the URLs of its content. If any of the Microsoft links are broken, search microsoft.com for the name in the link (such as "Windows DDK").

The Windows DDK documentation has more about INF files. See "Creating an INF File" and "Supplying an INF File."

How Windows Determines the Most Suitable Device Driver to Install During Setup (Knowledge Base article279112). This article from Microsoft explains how Windows searches INF files for vendor and product IDs and uses its findings to decide which drivers to load.

Creating Windows INF Files. From Microsoft.

Suplog.exe is a utility that simplifies capturing and displaying of SetupAPI logs. SetupAPI logging is supported on Windows 2000 and Windows XP. During device installation or removal many SetupXxx and SetupDiXxx functions are called by Windows' Device Manager. If appropriate options are set in the registry the functions generate a log, which can provide information about the execution of INF file directives and the execution of co-installers. Freeware from SourceQuest.

INF Files for Bears of Little Brain. An article by Brian Catlin.

Non-Windows Hosts

USB on the Macintosh.

The Linux USB Project.

How to get USB devices working under Linux. From Brad Hards.

Linux Remote NDIS USB device function driver. From Belcarra Technologies.

USB MIDI driver for Linux. From Studio Breeze.

Jungo's WinDriver USB includes support for Linux and Windows CE.

Java USB for Linux.

USB for DOS (Turbo Pascal). For embedded systems. From Dieter Pawelczak.

DosUHCI allows DOS applications and drivers to communicate with USB devices. From Georg Potthast.

The aim of the libusb project is to create a library to enable applications to access USB devices regardless of OS. Includes Linux, FreeBSD, NetBSD, OpenBSD, Darwin, MacOS X.

Hosts for Embedded Systems

The USBwiz chip contains a host controller and built-in support for accessing mass-storage devices, HIDs, and printers. Microcontrollers can communicate with the USBwiz over an asynchronous serial or SPI interface. From GHI Electronics.

On Time Software's RTUSB-32 is a USB host protocol stack for embedded systems with full source code available.

intoto has the iGateway USB Host Software Stack.

Micro Digital has the smxUSBD USB Device Stack.

SoftConnex Company Present USBLink contains a USB stack and a class driver framework.

Transdimension has an On-The-Go host controller.

Philips has On-The-Go controllers.

Cypress/Scanlogic has several options for embedded host controllers, including USB On-the-Go hardware.

AVR USB project is creating a software-only USB stack for Atmel's AVR devices and a matching driver for GNU/Linux.

Nucleus USB includes real-time software components for hosts and devices. From Accelerated Technology.

FHG_USBEHC Universal Serial Bus Host IP for embedded applications. From CorePool.

Development Tools

Protocol analyzers and other tools for debugging.

The USB Implementer's Forum offers the free diagnostic tools including the compliance test tool USB Command Verifier (USBCV) and more. USBCV is for use only under Windows 2000 and XP with a USB 2.0 host and hubs. There's no need to run the tests under Windows 98 or Windows Me or USB 1.x. If for some reason you want to run the previous testing tool, USBCheck, with USB 1.x and Windows 98, IVOVI has it.

Members of the Forum of USB Implementer receive all benefits, Plus the ability to participate in compliance programs, that access to specification documents under development, and the assigning of a unique vendor ID. Or you can get just a Vendor ID at a lower cost.

MCCI has a free USBRC (Universal Serial Bus Resource Compiler) that translates a plain-text description of a USB device into C data initialization structures to be placed in ROM.

Ch8ck (click the R & D link) is a software tool for Chapter 8 tests on USB devices. From PIMC.

Protocol Analyzers

USB data in the cable is encoded. A protocol analyzer can decode the data, then filter and display it in a number of formats. Some analyzers