The source of article,documents,informations and links to material in
Universal Serial Bus (USB)
The USB page has inculde many links to information and code for USB
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
has a directory of USB
products and resource links.
Plus all USB informations and hardware products.
developer's page with many links.
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
" from Embedded Systems Programming.
is billed as a diagnostic tool for USB video-class hardware.
it's a general-purpose tool based on USBView in the Windows DDK.
tool present the tree of all USB hubs and connected devices
device's descriptors, with additional support
for video devices. By
Microsoft. No source code.
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.
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
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.
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.
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.
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.
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.
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.
Board of FiberByte Company supports synchronous triggering and sampling.
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.
USB enables accessing devices using all transfer types. No DDK
required.Includes support for C/C++, Delphi, and Visual Basic.
allows access to all USB devices from user mode. Free demo.
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.
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.
generic driver for parallel-port, USB, and other devices. From EnTech
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).
Using USB devices with Labview
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.
USB is an enhanced version of Jungo's Driverwizard, which enables
developing driver code in user mode and later moving it to kernel
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
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
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.
Systems has USB-RS-232/RS-485 converters.
Research's USB to TTL Serial Cable uses a Cygnal chip.
EasyTap of High Tech Horizon Company is a USB/RS-232 solution using FTDI's USB UART.
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
achieve speed of 128 kB/sec. with Microchip CDC firmware (PIC18F4550
firmware + Borland Builder 6 application). From Tomasz Ostrowski.
Communication Device Class - Migration from RS-232 to USB.
Application note from Atmel.
Device Class (CDC) firmware and application note for the Microchip
USB to I2C and SPI Modules
Some of the general-purpose development boards above also support I2C
and SPI interfaces.
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.
For Legacy Devices
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
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
Black Box has USB
X-Tenders for links of up to 1000 feet.
The Sources for connectors include Digi-Key,Acon,
, Tyco, Molex, Norcomp, Oupin,Newnex,.
Opticis has USB
Icron Company has an Isolated USB
Design License Agreement (schematics, bill of materials, etc. "based on
B & B Electronics has an optoisolated
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
Device Firmware Upgrade
STMicroelectronics has a Device Firmware
Upgrade (DFU) implementation for ST7 USB
See the Mass Storage
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").
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.
Classes Versus Interface Classes. All about GUIDS. From Microsoft.
Logo Program for Hardware. This is different from the Implementers
Forum's Certified USB Logo.
Other Host Applications
Video from a USB camera in Java. From David Fischer.
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."
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.
Windows INF Files. From Microsoft.
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
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.
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
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
On Time Software's RTUSB-32 is
a USB host protocol stack for embedded systems with full source code
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.
has On-The-Go controllers.
Cypress/Scanlogic has several
options for embedded host controllers, including USB On-the-Go
project is creating a software-only USB stack for Atmel's AVR devices
and a matching driver for GNU/Linux.
USB includes real-time software components for hosts and devices.
From Accelerated Technology.
Universal Serial Bus Host IP for embedded applications. From
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
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