Posts

Showing posts from October, 2025

Building a Custom USB HID Device with RP2040 and TinyUSB

Image
Let’s start from afar and go back 30 years to the time of the first Pentium processors. Back then, every device on a PC had its own separate interface: DIN — for the keyboard. A narrow COM port — for the mouse. A wide COM port — for the modem. Branded computers also had PS/2 ports — separate for the keyboard and mouse. A parallel port (LPT) — for a printer, scanner, or external CD-ROM. External SCSI — for storage drives, CD-ROMs, or scanners. MIDI/Game port — for musical equipment and gamepads. And these were just the standard interfaces. In addition to them, many manufacturers created their own proprietary interfaces for their equipment. This was inconvenient for users and also created problems for manufacturers. To solve this problem, the USB consortium of hardware and software manufacturers was created. Its goal was to implement a single universal bus for connecting wide range of external devices. Of course, no one expected the transition to be quick. Users still had a ...