Apple Desktop Bus (or ADB) is an obsolete bit-serial computer bus connecting low-speed devices to computers. Used primarily on the Macintosh platform, ADB equipment is still available but not supported by most Apple hardware manufactured since 1999.
ADB was created by Steve Wozniak, who had been looking for a project to work on in the mid-1980s. Someone suggested that he should create a new connection system for devices like mice and keyboards, one that would require only a single daisy-chained cable, and be inexpensive to implement. As the story goes, he went away for a month and came back with ADB.
The first system to use ADB was the Apple IIGS in 1986. It was subsequently used on all Apple Macintosh machines starting with the Macintosh II and Macintosh SE, before it was replaced by USB, starting on the iMac in 1998. ADB was also used on a number of other 680x0-based microcomputers made by Sun, HP, NeXT and such.
No machines being built today use ADB for device interconnection, but up to February 2005, PowerBooks and iBooks still used the simple ADB protocol in the internal interface with the built-in keyboard and touchpad. The internal connection for the trackpads has now been changed to USB.
In keeping with Apple's general philosophy of industrial design, ADB was intended to be as simple to use as possible, while still being inexpensive to implement. A suitable connector was found in the form of the 4 pin mini-DIN connector, which is also used for S-Video. The connectors were small, widely available, and can only be inserted the "correct way". They do not "lock" into position, but even with a friction fit they are firm enough for light duties like those intended for ADB. ADB can be implemented for less than a penny; the connector always costs more than the controller hardware.
ADB's protocol required only a single pin for data, labeled ADB. Two of the other pins were used for +5 V power supply and ground. The +5 V pin guaranteed at least 500 mA, and required devices to use only 100 mA each. ADB also included the PSW pin which was attached directly to the power supply of the host computer. This was included to allow a key on the keyboard to start up the machine without needing the ADB software to interpret the signal. In more modern designs an auxiliary microcontroller is always kept running, so it is economical to use a power-up command over the standard USB channel.
Most serial digital interfaces use a separate clock pin to signal the arrival of individual bits of data. However, Wozniak decided that a separate wire for a clock signal was not necessary; and as ADB was designed to be low-cost, it made economical sense to leave it out.
Full article ▸