The terminal is what separates computer power users from tech illiterate luddites. The terminal, or command prompt for Windows users, gives you the power to complete complex tasks that often aren’t possible through software GUIs. You can run Bash scripts, SSH tunnel into a remote computer, or even stream YouTube videos in the form of ASCII art. But we all know how frustrating it can be to type out some long terminal command only to submit it and find out that you misspelled something. Aaron Patterson designed the Analog Terminal Bell to make that experience more pleasant, and you can create your own!
The Analog Terminal Bell is built around a typical office call bell, like the kind you’d find on the receptionist’s desk in your dentist’s office. But instead of having to ring that bell manually, it rings itself automatically whenever you get a terminal notification chime (technically the bell character). A small electromagnetic solenoid is used to strike the bell, and that’s controlled by an MCP2221A. That’s unusual, because the Microchip MCP2221A IC is a USB to UART chip and not a traditional microcontroller. But it does have four available GPIO pins, which means it can act like a basic microcontroller. The USB HID support makes it easy to connect to a computer without the need for a separate chip or special drivers. A simple 3D-printed enclosure protects the electronics and holds the solenoid in place.
The functionality demonstrated by Patterson in his hilarious video requires the use of iTerm2, which is a custom terminal replacement for macOS. A special patch is needed to enable the Analog Bell feature. But don’t despair if you don’t use iTerm2 or even a Mac computer at all. The code to actually send commands to the MCP2221A and ring the bell was programmed in Ruby, which is cross-platform. Patterson utilized a Ruby library called UChip to make that work, which can be installed like any other Ruby gem. You can therefore integrate the bell ringing functionality into other terminal software — and just about any other kind of program — if you have a good understanding of Ruby and can integrate this code. Yes, that’s a lot of work to produce a sound that can easily be played through your computer speakers, but this Analog Terminal Bell is charming and sure to impress your coworkers in the IT department.