The Vintage Computer Festival East is going down right now, and I’m surrounded by the height of technology from the 1970s and 80s. Oddly enough, Hackaday frequently covers another technology from the 80s, although you wouldn’t think of it as such. 3D printing was invented in the late 1980s, and since patents are only around for 20 years, this means 3D printing first became popular back in the 2000’s.
In the 1970s, the first personal computers came out of garages. In the early 2000s, the first 3D printers came out of workshops and hackerspaces. These parallels pose an interesting question – is it possible to build a 1980s-era 3D printer controlled by a contemporary computer? That was the focus of a talk from [Ethan Dicks] of the Columbus Idea Foundry this weekend at the Vintage Computer Festival.
First, the hardware. [Ethan]’s test bench consists of a Commodore PET Model 8032, running a 1MHz 6502, sporting 32k of RAM, and connects to the outside world through the ‘user port’ that has a grand total eight digital outputs.
The exemplar printer for this talk was a MakerBot Cupcake. No, the Cupcake was not in operating condition. A working MakerBot Cupcake is a newsworthy event, after all. However, this is actually a pretty good choice for a simple 3D printer. There are only three stepper motors on this printer, with each driver only requiring a step and direction signal. Endstops really aren’t required on the Cupcake, the extruder is just a DC motor, and a heated bed is a luxury. In total, you’ll need about eight control signals to run the motors in this printer, one or two more to turn the heaters on and off, and an analog input. Add in Revars LCD mod (expunged from MakerBot, but the Wayback machine caught it), and you can easily control a printer with a PET.
While it is possible to control the motors in a printer with a 6502, it’s not exactly easy. The electronics board developed for the Cupcake – the Sanguinololu – uses an ATMega644 running at 16MHz. The 6502 in the PET runs at 1MHz, but it gets worse: a lot of the instructions on the ATMega only require one clock, whereas the 6502 takes several clocks per instruction. The 6502 simply doesn’t have the ability to step through the code as fast as a three-dollar microcontroller.
There is also the problem of how to store a 3D printable file on a vintage computer. Today, it’s not uncommon for simple STL files to weigh in at Megabytes. A complicated model couldn’t have been stored on a vintage hard drive.
[Ethan] has a few solutions to these problems. He can’t really get around the processing speed of the PET, but he does have a solution to the size of an STL cube. During slicing, a 3D printable file of a cube is split up into layers. The bottom layers are simply solid, the middle layers have a perimeter and an infill pattern, and the top layers are just solid again. Instead of processing a file that weighs in at a few Megabytes, [Ethan] is simply taking a few bottom layers, a middle layer, and the top layers and running them through a for loop.
Was [Ethan] able to grind some MakerBot motors with a PET? Unfortunately not. The theory is there, even if slicing a model is far, far beyond the scope of this hack. Still, it is at least possible to build a 3D printer around a computer from the 80s. You only need to look at the original patents for evidence of that.