
Ben Eater
7 HN recommenders · recommended in 11 months, 2021–2025
34:15 · 3.8M views · Jun 5, 2021
Ben Eater explains how a USB keyboard communicates, covering the electrical interface, bit and packet encoding, packet contents, and a comparison with PS/2.
HN commenters recommend it as a clear, comprehensive explanation of USB signaling and keyboard polling.
12 comments from Hacker News
About the USB keyboard, that may be true only for the cheapest keyboard you could find, but basically not applicable anymore nowadays. Rather than giving you the details, let me link to this video, which is awesome at explaining it and much more -- the USB vs PS/2 part starts here: this video
Among other things, the USB host polls the keyboard at a fixed rate. Fantastic breakdown if you have 30 minutes: this video
There’s a great video here that goes through all this - the gist is that USB keyboards specify what polling rate to use, 1000hz for the best ones, maybe 125hz for the cheaper ones. An interesting thing about ps/2 is that even though it doesn’t have to wait for the keyboard to poll it transmits data at much slower speed than USB (khz vs mhz) which somewhat offsets the advantage it gets from being interrupt driven this video edit: ah, sorry, I see someone's posted a link to this video already!
Apparently [1] PS/2 limited by a slower data rate than USB 2.0 which cancels out almost all the advantage of its lower initial latency to begin the transmission, making them both about equally capable in actual latency - at least in theory. [1] this video Even if this conclusion is wrong, that video is a very pleasant and understandable explanation of the USB protocol.
Ben Eater has some videos showing the USB protocol on an oscilloscope. this video [LINK] And some videos on using chips and breadboards to meet protocols- [LINK] And a digital protocol too- [LINK]