Taking Control of Your Classics

MacFriends by Bart Jakobs brings Universal Control-like features to vintage Macintosh Classic computers using an Arduino Nano.

nickbild
2 months ago Retro Tech
One keyboard to rule them all (📷: Bart Jakobs)

How many times have you found yourself working on your MacBook, only to have to jump over to your Macintosh Classic to check on something? Probably zero, but if you had ever been in that situation, you might have been annoyed that you needed to move to work with a different physical keyboard and mouse to interact with each machine. That kind of turns your whole “bicycle for the mind” setup into something more like a broken roller skate.

This problem has been solved on modern MacBooks and iPads running a recent version of macOS or iPadOS through a feature called Universal Control that was released a few years ago. It allows a single mouse and keyboard to control multiple Apple devices. But for some unimaginable reason, Apple did not see fit to support 35 year old machines like the Macintosh Classic when they designed Universal Control (such a glaring example of planned obsolescence).

The Arduino interfaces with the Classic via the Apple Desktop Bus protocol (📷: Bart Jakobs)

Hardware hacker Bart Jakobs was not about to take this lying down, so he decided to build a system called MacFriends that brings Universal Control-like capabilities to Macs from the last century. That’s right, with the help of an Arduino Nano, your modern Mac can finally be used as an input device for your Macintosh Classic.

The Arduino is connected to the modern computer via USB. Software written by Jakobs monitors the keyboard and mouse for inputs. When the mouse moves all the way to the left side of the screen, it triggers MacFriends to switch to supplying the inputs to the Macintosh Classic instead of the host machine. Both mouse and keyboard inputs are converted into a format appropriate for use with the Apple Desktop Bus protocol. These signals are delivered to the Macintosh Classic via a PS/2 connection, which is driven by the Arduino’s GPIO pins.

Jakobs notes that the code may not be quite production-ready, but let’s be realistic. If you are trying to control a Macintosh Classic from a modern MacBook, there is no need for the word "production" to come into the picture. As long as it works well enough in most cases, you should be good to go. If you want to try it for yourself, Jakobs has provided all of the code in a GitHub repository.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles