Joseph Naberhaus' First Big Electronics Project Is a Doozy: Building a Computer From Discrete Logic

Despite no major prior experience in electronics, Naberhaus set about building his own eight-bit microcomputer — and succeeded.

Gareth Halfacree
28 days agoRetro Tech / HW101

Software engineer Joseph Naberhaus has taken a break from his usual hobby of woodworking to tackle something different: the creation of a functional eight-bit computer built using discrete 7400-series logic chips.

"Earlier this year," Naberhaus explains, "I came back from a camping trip with an inspiration to learn electronics. I started reading a text book, Practical Electronics for Inventors, and began accruing equipment. After building some basic frequency filters, I had the desire to tackle a substantial project. For many years, I've dreamed about building a working computer from just logic gates. I ordered some breadboards, jumper cables, and integrated circuits and set to work."

For a first major project, building your own working eight-bit microcomputer from discrete logic is undeniably ambitious. (📹: Joseph Naberhaus)

As far as first projects go, building a computer from discrete logic chips is an ambitious one. The invention of the microprocessor was a breakthrough for compact computing, taking systems from room- or at best desk-size into compact boxes you could reasonably have in the home. Stepping back from that to create an equivalent using only AND, OR, NOT, NAND, and XOR gates is a real challenge — but one Naberhaus tackled with relish.

"With enough logic gates you can replicate any computer in the world," Naberhaus explains. "The computer I built, on the other hand, used only about 800. I cheated in two places. For both the program memory and the RAM I used flash memory chips. This means I can't say I wired the entire computer by hand. While this pains me to admit, I wasn't willing to invest the time or money to remedy it."

The computer — which splits its various core functions across multiple breadboards for modularity — is programmed using a custom assembly language Naberhaus developed for the project, which compiles into 24-bit machine code. "While the rest of the computer uses 8-bit busses," he explains, "I decided to splurge on the machine language for two reasons. First, it allowed me to implement a richer set of instructions. Second, it made implementing the instructions simpler."

The finished system, which has 256 bytes of memory, 256 lines of program memory, and a clock speed of 500kHz, is detailed on Naberhaus' website and in the video embedded above and on the maker's YouTube channel.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles