| Whether you are developing or | | | | most certainly know the importance of |
| reverse-engineering a USB device, programming | | | | debugging. Bugs are inevitable in any complex |
| an application with USB communication, or | | | | project, be it software or hardware. USB |
| simply analyzing data sent and received via | | | | hardware is no exception. |
| USB interface, USB Monitor by HHD Software | | | | |
| will expedite your project saving time and | | | | Software developers are lucky enough to have |
| expense. | | | | a wide variety of source code debugging tools |
| | | | available on the market, no matter what |
| The Universal Serial Bus (USB) has become the | | | | programming language they use. Hardware |
| most popular device communication interface | | | | developers often use specialized devices and |
| in modern computers. All external devices | | | | expensive software in order to test and debug |
| that used serial or parallel interfaces in | | | | their products. One important thing that all |
| the past, such as printers, scanners, modems, | | | | of these tools lack is source code debugging. |
| even mice and keyboards, are now employing | | | | In most cases, a hardware developer is only |
| USB due to its vast superiority over the | | | | able to see raw data streams that have to be |
| legacy interfaces. Many new classes of | | | | saved and analyzed elsewhere. |
| devices emerged in recent years because of | | | | |
| widespread availability of the highly | | | | USB Monitor makes USB debugging as simple as |
| versatile, high-speed USB interface. USB | | | | tracing the source code written in a |
| provides multiple benefits to the end user, | | | | high-level programming language. Thanks to |
| including hot-plugging and automatic device | | | | its ability to analyze Human Interface |
| detection by the host PC, superior transfer | | | | Devices (HID), Mass Storage, and Still Image |
| speeds, and easy expandability with external | | | | USB protocols, you no longer have to deal |
| USB hubs should the need for more USB ports | | | | with binary data. Instead of a raw data |
| arise. | | | | stream, you will see a convenient |
| | | | presentation of the data sent and received by |
| Enhanced USB capabilities for end users mean | | | | USB devices supporting these protocols. |
| much greater complexity for developers. All | | | | |
| USB devices must respond to a certain set of | | | | One of the most important aspects of |
| commands with standardized responses in real | | | | developing a new USB device or |
| time. Monitoring and capturing the data was | | | | reverse-engineering an existing one is the |
| easily achieved with simple hardware in the | | | | ability to capture data that is transmitted |
| days of serial and parallel ports; with USB | | | | between the computer and the USB device for |
| it is not an easy task anymore, as all | | | | later scrupulous analysis. USB Monitor will |
| transmissions are encoded. Testing and | | | | either monitor USB transmissions in real |
| debugging USB devices requires additional | | | | time, or store data into a log file for later |
| tools that are able to capture and translate | | | | playback and analysis. It can even export the |
| USB data into meaningful output. | | | | logged data to many popular formats so that |
| | | | you can use your favorite third-party |
| USB Monitor by HHD Software ( is capable of | | | | application to process it. There is little |
| conveniently capturing and analyzing data | | | | need to use third-party software for working |
| transferred between a Windows PC and a USB | | | | with data, as with USB Monitor you can use |
| device of any class. | | | | all six of its powerful analyzers at the same |
| | | | time, including URB View, Packet View, |
| If you ever created a software program more | | | | Statistics View, HID View, Mass Storage View, |
| complex than the famous 'Hello, World!' you | | | | and Still Image View. |