The best tools to make your project dreams come true

Login or Signup

Why and How to Build a 6502 Microprocessor-Based Breadboard Computer

3/25/2020 | By Clive "Max" Maxfield

Why would anyone want to build a 6502 microprocessor-based breadboard computer? Well, that’s just what we do. How can someone build such a beast? Read on...

Engineers are makers by nature. It is their natural inclination to create things in the domain of their choice—mechanical, electronic, fluidic, hardware, software, it really doesn’t matter. Also, although typically not known for their gregarious nature (there's an old joke that you know if an engineer is an extrovert if he looks at your shoes when he's talking to you rather than his own), engineers are almost invariably interested to hear what other engineers are doing engineering-wise, irrespective of whether it's on a professional or personal (hobby) basis.

Ever since I was around 14 years old, I've been building electronic "stuff." During the course of my career, I've designed everything from silicon chips to circuit boards. In the case of my own hobby projects, I've built a range of weird and wonderful things, from brainwave amplifiers to Awesome Audio-Reactive Artifacts to Countdown Timers to Steampunk Prognostication Engines (don't ask). Some of them even worked.

I remember the excitement when the first microprocessors appeared on the scene, starting with the 8-bit Intel 8080 in April 1974, a device that many consider to be the first true general-purpose microprocessor. Although it contained only around 4,500 transistors and could perform only 200,000 operations per second, the 8080 was destined for fame as the central processor of many early home computers. Following the 8080, the microprocessor field exploded with devices such as the 6800 from Motorola in August 1974, the 6502 from MOS Technology in 1975, and the Z80 from Zilog in 1976 (to name but a few).

The 6502, in particular, holds a special place in many people's hearts. When it was introduced in 1975, the 6502 was, by a considerable margin, the least expensive microprocessor on the market. As a result, the 6502 (or variations thereof) formed the heart of many popular video game consoles and computers, such as the Atari 2600, Atari 8-bit family, Apple II, Nintendo Entertainment System, Commodore 64, Atari Lynx, BBC Micro, and others. In fact, a company called Retro Games is poised to launch a retro reboot of the Commodore 64 called THEC64.

I think of the 1970s and 1980s as being the heyday of DIY electronics. As the years passed, however, it seemed as though fewer and fewer people were interested in building electronic projects. By the early 2000s, electronics hobbyist magazines were starting to fail, and I had come to believe that there weren't many of us techno dweebs left. Then, suddenly, circa 2005, MAKE magazine launched, the Arduino appeared on the scene, the Maker Movement started to rock and roll, and Hackerspaces and Maker Faires started to pop up all over the place. "Thank goodness," I thought, "I am not alone!" Digi-Key now also has its own must-see DIY site: Maker.io.

These days, I bill myself as an engineer, writer, and communicator. As part of my technical consulting, I run across a lot of leading-edge companies creating next-generation technologies. This is complemented by my interest in DIY, through which I get introduced to all sorts of folks, including masterful makers. Take the aptly named Nick Bild, for example.

Say "Hello" to Nick Bild

Nick is an interesting character whose formal education and experience has all been on the software side of the fence. Nick has degrees in computer science and bioinformatics, and he's spent 15 years as a software engineer. Until relatively recently, however, Nick knew next to nothing about the hardware side of things.

Why and How to Build a 6502 Microprocessor-Based Breadboard Computer

Figure 1: Nick Bild started on the software side of the fence knowing almost nothing about hardware. Now, just one year after deciding to become a maker, his projects include hardware, software, and artificial intelligence. (Image source: Nick Bild)

Nick tells me that, as long as he can remember, he's been interested in understanding how things work, and he's dreamed of coming up with ways of improving devices and technologies. About a year ago, he had the epiphany, "Why don't I just do it? Why can't I be the one to make something new and interesting?"

Initially, Nick wasn't sure how to start, but he says that there are so many educational resources available on the internet that he was able to break down his ideas into a series of steps, do some research, and devise methods to complete each step.

Amazingly enough, the first project Nick set out to design and build was a programmable 6502 CPU-based breadboard computer he called the Vectron 64.

Why and How to Build a 6502 Microprocessor-Based Breadboard Computer

Figure 2: The Vectron 64 breadboard computer comprises an 8-bit 6502 CPU, 32 Kbytes of RAM, and 32 Kbytes of ROM, along with a PS/2 keyboard and an LCD display for input and output. (Image source: Nick Bild)

When Nick commenced the Vectron 64 project, he knew almost nothing about hardware, so his first step was to learn the difference between voltage and current. A few months later, he had a custom-built computer with an 8-bit 6502 CPU, 32 Kbytes of RAM, and 32 Kbytes of ROM, along with a PS/2 keyboard and an LCD display for input and output.

All of the files associated with this project are available on GitHub. Most of the parts Nick used are available from Digi-Key. A 99% full BOM with part numbers available from Digi-Key is shown at the bottom of this blog: visit Github for a comprehensive BOM. [Note to reviewer: Some parts are not available from Digi-Key so are not shown or mentioned here (including the 6502 processor) – they are listed on the Github BOM.]

Since I'm a hardware design engineer by trade (I putter around on the software side of things), I can only imagine how difficult it would be to learn all this stuff from scratch. I can also only imagine the sense of satisfaction Nick must have felt when his first "Hello" message appeared on the Vectron 64's LCD (Figure 3).

Why and How to Build a 6502 Microprocessor-Based Breadboard Computer

Figure 3: After months of work, the Vectron 64 LCD displayed its first "Hello" message. (Image source: Nick Bild)

The Vectron 64 is an incredible achievement for a software developer's first hardware project. Amazingly enough, this only whet Nick's appetite for more. For his next project, Nick decided to make his Vectron 64 do something unexpected or improbable. After some thought, he decided that augmenting it with a homemade virtual reality (VR) headset would be fun.

In fact, Nick has been busily building all sorts of things, including augmented reality sunglasses that can tell you when a baseball is good to hit or not, in real time as you’re prepped to swing.

We will be looking at a variety of these projects in a series of future blogs. In the meantime, what do you think of Nick's Vectron 64? What do you like the most about it? Are you tempted to build one of your own? And is there anything you would do differently if you were to build one for yourself?

Why and How to Build a 6502 Microprocessor-Based Breadboard Computer

Links

KEMET - 399-9859-2-ND

Nichicon - 493-13277-1-ND

United Chemi-Con - 565-4258-1-ND

Panasonic Electronic Components - P13560-ND

KEMET - 399-13913-1-ND

Texas Instruments - 296-1570-5-ND

Texas Instruments - 296-2131-5-ND

Texas Instruments - 296-1646-5-ND

Texas Instruments - 296-1653-5-ND

Texas Instruments - 296-1566-5-ND

STMicroelectronics - 497-1443-5-ND

Microchip Technology - AT28C256-15PU-ND

Cypress Semiconductor Corp - 428-1069-ND

Texas Instruments - 296-1658-5-ND

Lumex Opto/Components Inc. - 67-1781-ND

ON Semiconductor - MPSA29-D26ZCT-ND

Stackpole Electronics Inc - CF14JT10K0CT-ND

Vishay/Dale - 1135-1619-ND

Stackpole Electronics Inc - CF14JT3K30CT-ND

C&K - 401-1967-ND

Texas Instruments - 296-1600-5-ND

E-Switch - EG2355-ND

Bourns Inc. - 3362R-104LF-ND

Renesas Electronics America Inc. - 631-1317-1-ND

Adafruit Industries LLC - 1528-2143-ND