Chinook writes –

[Any] idea is dead without a good application for it. So “California Dreamin’” USB virtual peripheral could be a very nice sample of academic research, but hardly anybody is going to build a keyboard or mouse using it. I have been thinking for a while what to do with it as well. First project that came to my mind was building a hardware key logger for USB keyboards, something like www.keyghost.com, built for PS2 protocol using PIC16F877. It was quite simple to implement USB part using SX, serial EEPROM and a few switching IC’s. Furthermore I found out that built-in features of SX MCU would help to create a device able to work not only with pure low-speed USB keyboards, but also composite, built-in-hub, things, hence covering all existing systems (SUN, Mac, PC). Recording keystrokes is fun, but if we can do that, why not go further and try to record all low-speed USB traffic. No problem for SX again, problem for the memory. Serial EEPROM is just to slow to handle it. Solution was www.ramtron.com FRAM with 1MHz two-wire interface (let me pay credit here to www.svtehs.com, who happens to advertise it). Finally “California Dreamin’” found a real life application in the world’s smallest low-speed USB analyzer “Atapchi” (stands for a small fruit in Singapore, tastes like apricot). I hope you find this project interesting.

World’s smallest low-speed USB analyzer – Link.