USB has recently become one of the most popular types of communication for devices ranging from consumer products, to industrial robotics and test equipment. The protocol relies heavily on constant contact with devices for error checking which makes it a bit cumbersome, but the end result is stability and high through-put speeds that operating systems love. With such popularity, understanding how to communicate with a USB host (like on a laptop) becomes an essential piece of information for anyone wishing to build a USB enabled device.
Simple PIC USB Interface – [Link]
Below you see the specifications of the instruments. If you are familiar with oscilloscopes you will see that the DPScope has pretty much all the features you’d expect from a decent lower-end instrument.
If you aren’t a number freak, feel free to skip this page as fast as you can
On the next page I’ll discuss a few of the key specifications.
DPScope – Build Your Own USB/PC-Based Oscilloscope – [Link]
MichaelZ writes: [via]
While poking around SparkFun’s website I found USB Host Shield which is only marginally interesting unless you are an Arduino fan. But the USB host controller chip is interesting. The MAX3421E is a USB Peripheral/Host Controller with SPI Interface. This is an alternate to the FTDI VNC USB host controllers. It has only one USB port vs the FTDI two but for some applications it maybe the way to go. For example it could be used with a CPLD or FPGA as a USB Host. A SPI master is easy to implement in a CPLD/FPGA (similar to the dual ’595′s example). In VHDL a simple state machine could do all of the register control.
MAX3421E USB peripheral/host controller with SPI interface – [Link]
An introduction to USB battery charging: a survival guide. [via]
Arguably the most useful part of USB’s power capabilities is the ability to charge batteries in portable devices, but there is more to battery charging than picking a power source, USB or otherwise. This is particularly true for Li+ batteries, where improper charging can not only shorten battery life, but also can be a safety hazard. A well-designed charger optimizes safety and the user experience. It also lowers cost by reducing customer returns and warranty repairs. Charging batteries from USB requires balancing battery “care and feeding” with the power limitations of USB as well as the size and cost barriers ever present in portable consumer device designs. This article discusses how to achieve this balance.
The basics of USB battery charging: a survival guide – [Link]
Bridge from USB to I²C: [via]
This circuit provides a direct I²C interface to your PC’s USB port. A USB to 1-Wire® dongle supplies the PC with a 1-Wire master, which controls a 1-Wire I/O extender. This I/O extender has two bidirectional open drain ports, which the PC can write to and read from. By generating the right logic signals on these two ports, the PC can emulate an I²C master.
Bridge from USB to I²C – [Link]
Simon Inns created a secure USB time stamp device: [via]
This project implements a USB device which provides a real-time clock for the purpose of time-stamping events in an non-networked embedded computer environment. For embedded applications where a periodic time-stamp is required (such as entry-system logs, configuration audit logs, etc.) it is necessary to have a fairly accurate real-time clock (better than that typically provided by a PC’s motherboard) to generate time-stamps in logging and audit trails. Furthermore, it is preferable to have a method of confirming that the log/audit files have not been tampered with in anyway. The secure USB time-stamp device solves many of these issues in a very small form factor using minimal components .
Secure usb time stamp – [Link]
The Virtual USB Analyzer is a free and open source tool for visualizing logs of USB packets, from hardware or software USB sniffer tools. It provides a graphical visualization along with raw hex dumps and high-level protocol analysis. The Analyzer is NOT a hardware USB analyzer or USB sniffer: it is an interface for visualizing USB logs. [via]
Virtual USB Analyzer – [Link]