Lakeview Research home > USB Central
USB Central
Information, tools, and links to material about the
Universal Serial Bus (USB)
brought to you by Jan Axelson
My Books | Essentials
| Specification Info
USB On-The-Go |
Wireless USB |
Device Hardware
Development Boards | Host
Software | Hosts for Embedded Systems
Development Tools |
More Information Sources | For End Users
Information and code for USB developers. Send links, suggestions, corrections, etc. via
News
Serial Port Complete Second Edition includes three chapters on USB and USB virtual COM ports.
The WinUSB page has Visual Basic .NET code and PIC microcontroller firmware for Microsoft's WinUSB generic driver.
Battery Charging Specification is a new class spec from USB-IF.
Recent additions to the USB 2.0 spec are the Micro-USB Cables and Connectors Specification, USB 2.0 Link Power Management Addendum, and High-Speed Inter-Chip USB Electrical Specification Revision.
My USB Books
![]()
USB Complete: Everything You Need to Develop Custom USB Peripherals Third Edition
USB Mass Storage: Designing and Programming Devices and Embedded Hosts
Serial Port Complete: COM Ports, USB Virtual COM Ports, and Ports for Embedded Systems
Essentials
The USB Implementer's Forum's Developers Home has links to the USB specifications, tools, and more.
If you have a question about developing for USB, the USB-IF Developers Discussion Forum is the place to ask it.
The USB Specification and Related Information
USB-IF has the specifications.
USB 3.0 (under development)
Industry Leaders Develop Superspeed USB Interconnect. Intel news release.
Intel announces, demonstrates USB 3.0. From Joel Hruska and ars technica.
USB 2.0
The USB 2.0 specification supports bus speeds of 480 Mbps (high speed, also called Hi Speed), 12 Mbps (full speed), and 1.5 Mbps (low speed). Note that USB 2.0 does not mean "high speed." A USB 2.0 device can be any speed, and any new design should comply with the USB 2.0 spec.
An ECN to the 2.0 specification adds a new descriptor type for composite devices: the interface association descriptor. The ECN for the descriptor. Support for USB Interface Association Descriptor in Windows.
My article Inside USB 2.0: What the New Spec Means for Developers,is available online and in print in the April 12, 2001 issue of EDN magazine.
USB 2.0: Much More Than a 40x Speed Increase,by Kosta Koeman and Stuart Allman. From ChipCenter.
OpenCores is developing a USB 2.0-compliant Verilog/VHDL core.
The USB Implementer's Forum's Hi-Speed USB page.
USB 2.0 Takes Off. Info for developers in an article from AsiaBizTech.
USB 2.0 Overview. On-demand Internet video, 85 minutes. From Mindshare.
USB On-The-Go
Every USB communications is between a host and a device. Devices can't communicate with each other directly. The On-The-Go supplement to the USB specification defines a new type of device that can function as both a device and as a scaled-back host (but not both at the same time). When functioning as a device, the On-The-Go device can communicate with a PC or other USB host. When functioning as a host, the device can connect to USB peripherals.
The USB On-The-Go webpage has the lastest version of the spec and other information.
Understanding USB On-The-Go by Kosta Koeman, one of the people involved with developing the spec. From EDN magazine.
USB On-The-Go Basics. From Dallas Semiconductor/Maxim.
USB On-The-Go: a Tutorial. From Philips Semiconductors. (PDF)
USB Multi-Role Device Design By Example by John Hyde. (PDF).
Host controllers
OHCI (OpenHCI) -- Open Host Controller Interface Specification for USB (Low and full speed)
Universal Host Controller Interface (UHCI) Design Guide (Low and full speed)
EHCI (Enhanced Host Controller interface) specification (High speed)
UTMI
USB 2.0 Transceiver Macrocell Interface (UTMI) specification. From Intel.
The ULPI (UTMI + Low Pin Interface) specification describes an interface that reduces the pin count for discrete USB transceiver implementations.
Wireless USB
There are three competing implementations of wireless USB: Wireless USB, CableFree USB, and WirelessUSB.
Wireless USB
The Wireless USB Promoter Group has developed a wireless USB (WUSB) specification for communicating at up to 480 Mbps.
An introduction to Wireless USB (WUSB). By by Rafael Kolic of Intel.
Challenges of Migrating to Wireless USB. From Ellisys.
Understanding the Impact of Encryption on Certified Wireless USB Testing. From LeCroy.
Linux UWB + Wireless USB + WiNET.
CableFree USB
Virtual USB Cable Hits The Street. About CableFree USB. From Electronic Design.
CableFreeProducts Use UWB To Cut USB Cords. From Extreme UWB.
WirelessUSB
Cypress's WirelessUSB system uses a 2.4-Ghz wireless connection and enables implementing wireless devices that function as low-speed USB devices.
CableFree USB versus Wireless USB
Clash of the Wireless-USB standards. CableFree USB versus Certified Wireless USB. From EDN Magazine.
Other Specification-related Information
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.
A request for a string descriptor with index EEh is requesting the Microsoft OS descriptor. Microsoft has some information in its Intermediate USB FAQ. Also see Microsoft OS Descriptors from SourceQuest.
Device Hardware
Chips, development boards, and design issues.
Chips
My USB Chips page has links to manufacturers of device, host, On-The-Go, and transceiver chips and IP cores.
My article Chip Choices can help you decide.
Craig Peacock has descriptions of USB 1.1 Integrated Circuits and USB 2.0 Integrated Circuits.
Development Boards
These development boards each contain a USB chip and related circuits. Many products also provide device firmware, a host driver (when needed), and a host application or documentation on how to access the board. Some boards allow you to install your own firmware. Just about every chip manufacturer also provides development boards for their hardware. The boards below are listed alphabetically by company.
Acquire Devices. Pike USB Evaluation / Prototype PCB Board with EZ-USB FX2.
ActiveWire-USB. With an EZ-USB, drivers, and example application code that. Drivers for Windows, Linux, and more.
The QuickUSB Plug-In Module has a high-speed USB interface and comes with a custom driver. From Bitwise Systems.
Unicorn USB Upgrade for Inchworm+ kit. Contains a PIC18F4550. From blueroomelectronics.
BrainTechnology. USB Modul (in German).
The Center for Research in Electronic Art Technology. CREATE USB Interface (CUI) with a PIC18F4550 and HID example code. Build your own or buy it pre-built.
Cesys. Spartan II with full-speed Cypress USB controller.
The 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.
The USBee EX Experimenter's Board has 8 I/O pins and contains a Cypress full-speed EZ-USB AN2135SC. The board comes with a host driver and also works with the Cypress EZ-USB Development Kit software. The USBee EX 2.0 Experimenter's Board is a high-speed version. From CWAV.
Data Design Corporation's TM1000 Peripheral Instrument System 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 has programmed USB chips with a device driver that enables reading and writing to up to 16 port bits that can include an asynchronous serial port and I2C port. The chips are Cypress 63000 series. Development boards also available.
The 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 chips.
EasyFPGA has Altera Acex and Xilinx Spartan-II FPGAs. The boards 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. Lots of other interesting boards as well.
FiberByte's USB-inSync OEM Board supports synchronous triggering and sampling.
The AT89C5131 USB Development Board contains an Atmel AT89C5131. From Futurlec.
The USBSimm is an inexpensive PC board with a Cypress EZ-USB chip and support circuits. From J. Gordon Electronic Design.
Opel Kelly has the XEM3001 - Xilinx Spartan 3 Experimentation Module with USB interface.
Softmark has 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, etc.) and Windows software to access the board.
USBmicro's U401 USB interface is a PC board with Cypress' 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. Also available is the U421, with the PC board on a 24-pin DIP.
The USBP USB Project includes FPGA prototype boards and source code.
USB to RS-232 and RS-485
USB to I2C and SPI
Some general-purpose development boards also support I2C and SPI interfaces.
I2C and SPI Host Adapters. From Total Phase.
TIMS-0102 USB to I2C and SPI Adapter. From Jova Solutions.
Data Acquisition Modules
Sources for modules with digital I/O, ADCs, DACs, relay outputs, etc.
For Legacy Devices
SigmaTel STIR4210/4220 and STIR4116 are low power, USB 2.0 Hi-Speed IrDA Bridge Controller
MCCI 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. The list hasn't been updated in some time, however.
Cables and Extenders
Atek has cables and will do custom assemblies.
Bulgin Components PLC has a Buccaneer series of environmentally sealed connectors that includes connectors for USB.
Optical USB Extension Cables for low- or full-speed connections of up to 46 meters without hubs. From Opticis Co., Ltd.
Connectors
Sources for connectors include Acon, Digi-Key, Molex, Newnex, Norcomp, Oupin, Tyco.
Accessing USB Devices over a Network
These are a solution if you need to access a USB device over distances longer than USB's 30 m/5 hub limit.
Hardware options:AnywhereUSB from Digi International (formerly Inside Out Networks) and USB Server from Keyspan.
Software-only options:USB over Network from FabulaTech, Inc. and USB Redirector from Incentives Pro.
ESD and Overcurrent Protection for USB
Techniques for ESD Immunity in USB Devices by Martin Rowe, Test & Measurement World.
Univeral Serial Bus Power Management. Includes tips about limiting EMI. From Micrel. (PDF)
EMI Design Guidelines for USB Components. From Intel (though available from TI) (PDF).
From Littlefuse, several application notes about ESD and overcurrent protection:
EC606 - Protecting the Universal Serial Bus from Over Voltage and Overcurrent Threats (PDF)
EC616 - Circuit Protection of USB 2.0 (PDF)
EC630 - ESD Protection USB 1.1 Data Lines (PDF)
Texas Instruments has the TPS78833 low-dropout regulator with in-rush current control for USB Applications.
High Speed USB Platform Design Guidelines. From Intel. (PDF)
Improving USB System Reliability With a Transient
Suppressor. From Texas Instruments. (PDF)Protecting USB Ports from ESD Damage. From Semtech. (PDF)
Low-Capacitance ESD protection on High-Speed Ports. From California Micro Devices. (PDF)
Isolated USB
Isolating USB by Lane Hauck. From EDN.
Optoisolated USB hubs are available from B&B Electronics and Sealevel Systems.
Icron has an IsolatedUSB Design License Agreement (schematics, bill of materials, etc. "based on CPLD technology."
Opticis has USB fiber-optic cables.
Device Firmware and Related Host Applications
Host Software
Viewing Devices on a Host
UVCView is a diagnostic tool for USB video-class hardware but also serves as a general-purpose tool based on USBView in the WDK. The tool shows the tree of all USB hubs and connected devices and each device's descriptors, with additional support for video devices. From Microsoft. No source code.
A C# version of the DDK's USBView utility. Also demonstrates how to get the serial number and other attributes from a USB flash disk. Source code only. From Emmet Gray.
USBDeview. View all installed/connected USB devices on your system. Freeware from Nir Sofer.
SIV (System Information Viewer). From Ray Hinchliffe.'
Class Drivers
Sometimes you don't have to write a driver because Windows provides one.
USB drivers included with each edition of Windows
Device Firmware Upgrade
STMicroelectronics has a Device Firmware Upgrade (DFU) implementation for ST7 USB applications.
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.
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.
JCommUSB API is a Java USB API for Windows. From icaste LLC.
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 supported by Windows Vista. The driver enables applications to access devices that don't fit into a defined class.
Labview
Using USB devices with Labview and LabWindows/CVI.
Writing Windows USB Device Drivers
Resources that can help if you're writing a custom driver:
Microsoft's WDK (Windows Driver Kit) has information on writing drivers, and example drivers. The kit is a free download.
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. Jungo's USB-Software Index has some write-ups and links.
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 USB for Windows NT from BSquare.
Dan Norton's Device Driver Development site.
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.
Windows Issues
Microsoft frequently changes the URLs of its content. If any of these Microsoft 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.
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.
Windows Logo Program for Hardware. This is different from the Implementers Forum's Certified USB Logo.
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.
How to turn off selective Suspend. Can fix a problem where a USB port stops responding after quickly and repeatedly inserting and removing a USB device. MS Article ID 817900.
Other Host Applications
Capture Video from a USB camera in Java. From David Fischer.
INF Files
Every USB device on a Windows system must have an INF file that tells the Device Manager what 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 WDK 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 article 279112). Explains how Windows searches INF files for vendor and product IDs and uses its findings to decide which drivers to load.
INF Files for Bears of Little Brain. From Brian Catlin.
Non-Windows Hosts
The libusb project aims to create a library to enable applications to access USB devices regardless of OS. Includes Linux, FreeBSD, NetBSD, OpenBSD, Darwin, MacOS X.
Mac
USB on the Macintosh.
Linux
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.
DOS
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.
Hosts for Embedded Systems
Hardware
Cypress/Scanlogic has several options for embedded host controllers, including USB On-the-Go hardware.
The Freescale MCIMX31 Multimedia Applications Processor has high speed USB On-The-Go, 2 hosts
The VNC1L Vinculum USB Host Controller encapsulates USB device classes and handles the FAT File structure. From FTDI Chip.
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.
The MAX3421E is a USB peripheral/host controller with an SPI interface. From Maxim Semiconductor.
Philips has On-The-Go controllers.
Transdimension has an On-The-Go host controller.
Software
The AVR USB project is creating a software-only USB stack for Atmel's AVR devices and a matching driver for GNU/Linux.
The FHG_USBEHC Universal Serial Bus Host IP for embedded applications. From CorePool.
intoto has the iGateway USB Host Software Stack.
Nucleus RTOS includes real-time software components for USB hosts and devices. From Mentor Graphics.
Micro Digital has the smxUSBD USB Host Stack.
On Time Software's RTUSB-32 is a USB host protocol stack for embedded systems with full source code available.
SoftConnex's USBLink contains a USB stack and a class driver framework.
Development Tools
USB-IF Tools
The USB Implementer's Forum offers free diagnostic tools including the compliance test tool USB Command Verifier (USBCV). 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 USB-IF's previous testing tool, USBCheck, with USB 1.x and Windows 98, IVOVI has it. IVOVI also has the preliminary point-of-sale driver that Microsoft provided at one time but has abandoned.
Members of the USB Implementers Forum receive benefits such as the ability to participate in compliance programs, access to specification documents under development, and the assigning of a unique vendor ID.
Protocol Analyzers
A protocol analyzer decodes, filters, and displays USB data. Some analyzers can also generate data on the bus. Some are software only. Others use hardware that connects to a USB or Ethernet port or a general-purpose logic analyzer.
Software-only Analyzers
A software-only analyzer resides on a PC and displays USB traffic sent and received by that PC.
SnoopyPro is a free tool for monitoring USB traffic. It's based on an earlier project called USB Snoopy. Seagull has Perl scripts for use with the Snoopy.
Compuware's WDM Sniffer is a free utility that displays USB requests from a WDM driver to the USB host stack on Windows.
AGG Software has the Advanced USB Port Monitor.
busTRACE bus and device analysis tool from busTRACE Technologies.
HHD Software has the USB Monitor.
Perisoft's BusHound is an analyzer for USB and other buses. Free version available.
SourceQuest's SourceUSB shows all traffic, including enumeration.
USBTrace from SysNucleus.
USBlyzer from usblyzer.com.
Hardware/Software Analyzers
A hardware/software analyzer uses a hardware module to monitor traffic on a bus segment. The analzyer displays traffic on the segment, including NAKS, CRC errors, bit-stuff errors, and data0/1 toggles.
Steve Calfee. Kitty USB Analyzer.
Catalyst Enterprises. SBAE30 andConquest.
Crescent Heart Software. USB-XLC and USB-2XP. For use with a logic analyzer.
Finisar. Bus Doctor with USB Pod. For use with a logic analyzer.
FTS4USB. From Frontline.
Ellisys. USB Explorer and Tracker analyzers, including Wireless USB. Available in the U.S. from Saelig Company and Driver Tools.
FuturePlus Systems. FS4100 and FS4120. For use with a logic analyzer.
Hitex. USB Agent.
LeCroy/CATC. USBTracer/Trainer, Advisor, USBMobile.
MQP Electronics. Packet-Master.
NitAl Consulting Services, Inc. USB2Snooper.
Rabbit House (Japan). USB Streamscope.
Total Phase. Beagle USB 480 and USB 12 Protocol Analyzers.
Transdimension. USB Host/Device Exerciser. Functions as a traffic generator and protocol analzyer.
Usbdeveloper.com. USB Viewer.
Traffic Generators
A traffic generator emulates a host and genates USB traffic.
Catalyst Enterprises' protocol analyzer can also generate bus traffic and measure inrush current.
LeCroy/CATC has the Traffic Generator.
Ellisys has traffic generators for wired and wireless USB.
NitAl Consulting Services, Inc. has the USB2Builder - H - USB2.0 Host Traffic generator and the USB2Builder - D- USB2.0 Device Emulator.
PMTC has TrafficLab traffic generator.
RPM Systems' Root 2 and Root 1 Functional Verification Adapters perform many of the functions of a USB host and root hub and enables controlling and monitoring a bus, including generating traffic, controlling the bus voltage, and monitoring current. The devices act as USB hosts controlled by an RS-232 or Ethernet connection to a PC.
Other Tools
HCList is a utility that finds all of the host controllers in a system and displays a description, the host-controller type (OHCI, UHCI, EHCI), the hardware ID, and compatible ID for each. With Visual C++ source code. From tomb.
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.
USBINFO is a software utility for viewing, browsing, exploring and performance-testing USB devices. From Parallel Technologies.
Obtaining a Vendor ID and Product ID
Every USB device product must have a unique Vendor ID (VID) and Product ID (PID) pair that helps to identify the device to the host computer. Each value is 32 bits.
USB Vendor IDs and their owners. Unofficial and incomplete, but as good as it gets. From Vojtech Pavlik.
There are several ways to obtain a VID and PID to use in a device.
Devices that display the USB logo
If your device will undergo compliance testing and display the USB-IF logo, your company must own the Vendor ID. (An exception is companies that are second-sourcing a product developed by another company.) You can obtain a Vendor ID by joining USB-IF or by paying a licensing fee.
Devices that don't require the USB logo
If your device will not display the USB-IF logo, you have other options.
You can buy a Vendor ID from USB-IF for a 1-time administrative fee.
Some chip manufacturers, including FTDI Chip and Microchip Technology, will assign a range of PIDs that customers can use in products with the company's VID, typically at no charge.
Chips that perform all of their USB communications in hardware can use a VID and PID embedded in the hardware. An example is FTDI's USB device controllers.
Some VID owners sell ranges of PIDs. Two sources are VOTI and EZPrototypes.
For Lab Use Only
If your device won't be distributed to unknown host systems, the only requirement is that the VID/PID pair doesn't match any VID/PID pair in the host's INF files (or equivalent database in non-Windows hosts).
You can use Lakeview Research's VID (0925h) with PIDs from 9000h to 9100h at no charge under these conditions:
1. You use the devices only in your own lab or office.
2. You don't sell, give away, post online, or otherwise distribute source code or executable code containing Lakeview Research's Vendor ID.
3. You don't complain to me if another device uses the same VID/PID pair that your device uses.
VOTI has also reserved a range of PIDs for free lab use.
More Information Sources
Various other sources of USB information.
My Articles
USB for Projects on a Budget, Nuts & Volts, April 2007.
Access Flash Drives with a Microcontroller, Nuts & Volts, February 2007.
USB Debug Tips, Embedded Systems Programming, April 2002.
No Power Supply Required: Powering USB Devices from the Bus, Circuit Cellar, Jan. 2002 print issue.
Boarding the Universal Serial Bus: Pick the Solution that Fits your Project, Nuts & Volts, Sept. 2001.
"Inside USB 2.0: What the New Spec Means for Developers," EDN magazine, April 12, 2001.
USB Quick Start, Nuts & Volts, November 2000.
HIDs Up, Embedded Systems Programming (ESP), October 2000.
USB Chip Choices, Circuit Cellar July 2000.
Put USB in Your Projects, Nuts & Volts, March 2000.
Other Interesting Articles
USB Made Simple. A detailed series of articles from MQP Electronics.
Jack Ganssle's "An Introduction to USB Development" from Embedded Systems Programming.
The Eyes Have Itby Dan Strassberg of EDN magazine discusses testing options for USB and other high-speed buses.
Stealing USB Port Power by Robert Kollman and John Betten discusses how to design bus-powered devices. From EDN magazine.
Beyond Logic has several interesting articles about USB projects, including the tutorial USB in a Nutshell with a PIC16F876 example and reviews of some controller chips. From Craig Peacock.
Circuit Cellar magazine has had dozens of USB-related articles in addition to mine, listed above. Back issues are available in print, on CD, and as individual article downloads. Search the Table of Contents page for articles of interest. The TOC Archive has more detailed descriptions of recent issues and links to buy articles.The articles include these:
Mission Possible: Achieve Cheap USB Connectivity by Fred Eady. (Aug. 2003)
USB Parallel Port USB-to-standard parallel port adapter. (related files)
USB Technology and Market Report. Market trends for USB, including USB On-The-Go. From Tech Idea International.
Links to articles about using FTDI Chip's products.
For links to additional USB articles, see The HID Page.
Books
USB Complete: Everything You Need to Develop Custom USB Peripherals, Third Edition
Universal Serial Bus System Architecture, Second Edition
Classes
MCCI offers USB 2.0 Training Classes taught by Paul Berg, the chair of the USB Device Working Group.
USB System Architecture Class. From Mindshare.
USB Courses in Europe and the U.K. From Logic Technology.
Other Resource Pages
USBNews has a directory of USB products and resource links.
PC Hardware Pages, including many USB links. From Tomi Engdahl.
www.usbdeveloper.com has tutorials and information about USB chips from Philips.
Answers to some frequently asked questions and other links. From Kosta Koeman.
USB Man has a developer's page with many links.
USB Icon
The USB Icon
appears on cables and other USB products.
usbicon.gif (1k). usbicon.eps (500k). Users of Pro/Engineer software can use the image in usb_icon.sec.zip, contributed by David Gessel.
For End Users
Information on finding USB products and getting them to work.
Finding Products
USBStuff and USB-Ware have USB products from many vendors.
B & B Electronics has a good selection of USB converters, cables, and hubs.
Help in Getting Peripherals Working
USBMan has links to driver updates and a Q and A Forum where all questions are answered.
The USB Implementers Forum has an FAQ that answers many user questions.
EverythingUSB has links to drivers, other news and reviews, and a product finder.
USB Enumeration Problems with OpenHCI Controller on Fast Computers. Describes a fix. From Microsoft. Knowledge Base article #253697.
An article from Microsoft about USB printing under DOS: Unable to Print from Command Prompt or MS-DOS Program with USB Printer (article #259939)



