Utilizing old-fashioned technology on computers may feel like the digital archeology equivalent. Documentation is typically sporadic or completely absentor if it’s even available in the first in the first. This means that you have to working backwards to understand the functionality of a device by meticulously analyzing and examining. Spencer Nelson has a vintage NeXT keyboard from the 80s and was looking to connect it with modern computers using USB. To accomplish this the engineer reverse developed the USB protocol and then used Arduino as an Arduino for an adapter.
NeXT was a company in the field of computers established in the early ’80s by Steve Jobs in the ’80s during the time following his departure from Apple. Just a little more than 10 years later Apple purchased NeXT and Jobs returned to the company. NeXT has only released a handful of computers and keyboards, but they’re notable and attractive to collectors. This particular keyboard was released in 1988 and is compatible on the initial generation NeXT Computer. In contrast to modern keyboards which share with USB protocol, the keyboards of that time used proprietary protocols. This particular model featured an obscure protocol that Nelson became obsessed with understanding.
Nelson began using an Arduino Micro with the goal to use an already-existing library. However, the result was erratic and disorganized text. After scrutinizing the output signal of the keyboard with an oscilloscope as well as an analyzer for logic, Nelson determined that the keyboard’s protocol operated with a unique 52.74 microsecond pulse duration which the library wasn’t prepared for. It turned out that was due to NeXT using a simple 455 kHz resonator designed to be used in AM radios. Each time a 24 ticks would be recorded by that resonator, it would transmit an data bit (18,958 hertz, which is equal to one each 52.74 milliseconds).
With this knowledge, Nelson was able to make the original Arduino sketch to analyse the signals coming from NeXT. NeXT keyboard. The sketch can output the text using the serial console. However, it can also be configured to use an Arduino to function as an USB HID that can output texts to any computer that is modern.