Who remembers the Sol-20? Us neither, but it was an important milestone on the path to where we, and our computers, are today. Without the Sol-20 the home computer world would be very different. This important point in home computer history is an excellent choice, then, for a retro computer reproduction project such as that carried out by Michael Gardi (opens in new tab) (and highlighted by Hackaday (opens in new tab)) using a Raspberry Pi (opens in new tab) in place of the Intel 8080 at the original computer’s heart.
The first fully assembled microcomputer with both a built-in keyboard and a TV output, the Sol-20 (opens in new tab) had the misfortune to be released in 1976, a year before Apple, Commodore and Tandy came and stomped all over the market with the Apple II, Pet and TRS-80. Initially sold in three versions - a motherboard kit; the Sol-10 added a case, keyboard and power supply, but came with no expansion slots; and the Sol-20 beefed up that power supply and added five S-100 (opens in new tab) bus slots (the Sol-20 would be by far the most popular model). The computer stayed in production until 1979 and would sell around 12,000 units, making them incredibly rare today. For contrast, total Apple II sales would hit around six million, including a million in 1983 alone.
For the 2021 version, having an authentic-looking case was a priority. The distinctive blue original was made of sheet metal with wooden sides, but Gardi reached for his 3D printer rather than his cutting torch to make the build more accessible to others. The sides are made from walnut, a material slightly befitting the aesthetic of the time.
Gardi also made a matching display for the Sol-20, again 3D printed and embellished with walnut, it utilises a 4:3 LCD panel and connects to the Pi via an HDMI cable.
The keyboard is a replica of the original in layout, but sits on modern Cherry MX switches. The board comes as a kit from osiweb.org. The brains of the operation is a Raspberry Pi 4 (opens in new tab) running an 8080 emulator written in Python and forked from one available on GitHub. The virtual CPU has 64kb of memory (most systems shipped with 8 or 16kb) and supports storage on virtual cassette tapes. There's a lot - and we mean a lot - more detail on Gardi’s Hackaday.io project site (opens in new tab), including his use of an Arduino as a keyboard interface, the creation of an RS232 port, and his success ‘drawing’ the Sol-20 logo on a rectangle of acrylic using his 3D printer (see best 3D printers).