Introducing Bit Preserve

Recreating vintage schematics with KiCad

Bit Preserve Banner

A project I work on in my spare time is creating a portable Apple II. Like many of my projects, one leads into another. I started out wanting to make a mobile Apple II, and now I’m working on a project called Bit Preserve. How did I get from one project to the next? Well, as I looked into how to make a portable Apple II, I realized a significant issue. The original Apple II logic board has almost 80 ICs. Being a design from 1975, they are all through-hole packages. The good news is that except for the ROM chips, they are all off-the-shelf components. But such a size means it might be impossible to turn it into something handheld. I almost abandoned the project. Then, I learned about a chip included in the Apple IIgs. The name of the ASIC is “MEGA II.” (Nothing to do with Arduino.) It is a chip that integrates all of those off-the-shelf chips into an 84 pin package.

As I dove deeper into the project, I realized I needed other support chips to make the MEGA II useful. There is a decent book that discusses the technical details of the Apple IIgs, but it does not get into chip or board level design. For that detail, I had to look at the original schematics. While I am ecstatic that someone archived these original documents as PDFs, I quickly became frustrated. Sometimes the scan quality is not very good, and it is nearly impossible to search for symbols across multiple pages. I thought to myself, “There has got to be a better way!”

Bit Preserve on GitHub

What is in the Bit Preserve repository?

Instead of relying on these bitmapped documents, I decided to re-create the entire Apple IIgs schematic in KiCad. Why KiCad? Long story short, I settled on KiCad because it is an open source tool and has an accessible file format. Those two qualities make it ideal for preserving a schematic long term. For fun, I started streaming my efforts on Twitch. What surprised me is that people started contacting me about other computer schematics. A friend and colleague emailed me a ten-megabyte zip file with Commodore 64 schematics he collected over time.

So. I created a GitHub repository called “Bit Preserve.” The goal is to re-create schematic for vintage electronics using KiCad.

Today there are two systems available Bit Preserve. The first is the Apple IIgs schematic I am working on. And the second is a pull request I received from an Altair 8800 enthusiast. You’ll see other directories, but they only contain readme files. When possible, I am providing links to the original schematics. I have decided that this repository will not store the PDF versions of the original schematics. If you know of schematics for other systems, feel free to send a pull request with an update to the readme files.

How can you help?

If there is an old computer or video game system you think should be preserved, start capturing its schematic! Even if you are not a vintage computer enthusiast, you can still contribute to the project. Think of this as an opportunity to learn how to use KiCad. As my Twitch stream shows, I am learning new things about KiCad myself. Like, how and when to use labels and busses? Or, how to push and shove lines in the schematic.

Learn More

For background on the project, I did a talk at KiCon 2019 called “Preserving History with KiCad.” In that talk, I briefly describe my portable Apple II project and get into why I decided to start Bit Preserve. You can also download the slides here.

Let me know if you want to help or about other what systems to include.

Long comments, URLs, and code tend to get flagged for spam moderation. No need to resubmit.

Leave a comment

One thought on “Introducing Bit Preserve

  1. Hello! I didn’t see an email pop out anywhere, but I am interested in working on the project as well. I have pulled a couple of schematics and have looking over them at the moment. What is the best way to let you know when I have something ready? Is there anything specific you want included along with the kicad files? I am looking forward to this.