DIY Single-Board Computer (EE Tip #131)

In the early 1990s, nostalgic users wrote software emulators to relive the “vintage” experience of their old Commodore 64 or Apple II. Others preferred the actual hardware and began collecting classic computers. As their old machines occasionally broke down, people began cultivating the art of computer diagnosis and repair into a new form of retrocomputing.

RETROCOMPUTING
Next to software emulation and hardware maintenance, a third strain of retrocomputing has emerged: designing and building your own system from a “bag of chips” and a circuit board. It is easy to create a functional computer on a little circuit board—considering all the information now available on the Internet. These retro machines may not have much practical use, but the learning experience can be tremendously valuable (see Photo 1).

Photo 1—Here is a homebrew N8VEM system with a single-board computer (SBC) and disk/IDE card plugged into the ECB backplane. The ECB card on the far right is a bus monitor, which adds classic “blinkenlights” to the system. In front is a vintage-style hex keyboard/monitor. (Photo courtesy of Nik Brisevac, The N8VEM Home Brew Computer Project)

Photo 1—Here is a homebrew N8VEM system with a single-board computer (SBC) and disk/IDE card plugged into the ECB backplane. The ECB card on the far right is a bus monitor, which adds classic “blinkenlights” to the system. In front is a vintage-style hex keyboard/monitor. (Photo courtesy of Nik Brisevac, The N8VEM Home Brew Computer Project)

Hobbyists with no background in electronics somehow pick up the required skills, and they often share their homebrewing experiences online. Although some of their creations are stunningly exotic, most people build simple machines. They use a CPU and add RAM, ROM, a serial port, and maybe an IDE interface for mass storage. And most hobbyists run either BASIC (e.g., the 1980s home computers) or use a “vintage” OS such as CP/M.

Running CP/M, in fact, is a nice target to work toward. A lot of good software ensures your homebrew computer can do something interesting once it is built. As the predecessor of MS-DOS, CP/M also provides a familiar command-line interface. And it is simple. A few days of study are enough to port it to your circuit board.

Still, one challenge remains: If you want homebrewing to be an enduring hobby instead of a one-off project, you should have some perspective beyond putting together a minimal computer and switching it on. Working on your own, it can become progressively more difficult to take the next steps (i.e., building graphics subsystems or using exotic processors) or to add state-of-the-art microcontrollers to create “Frankenstein” systems (i.e., blends of old and new technology that can do something useful, such as automate your home).

This is where the N8VEM Google group comes in. In 2006, Andrew Lynch published his own single-board CP/M design to engage and involve others. He intended the N8VEM (named after his ham radio license) to be expandable with add-on cards. Soon after, an informal collaborative effort emerged around a Google mail group. A website was set up to share the hardware and software produced.

Builders with a range of skills became involved, from well-known systems builders to beginners. They bought Lynch’s $20 circuit board and ordered the required electronic components and a soldering iron from an online electronics distributor. After two days of wielding the soldering iron, they could create a CP/M computer that uses ROM and RAM disks for storage and has plenty of built-in vintage software.

The design can be expanded into a “powerful” (we use the term lightly here) multiprocessor system with “blinkenlights,” hard disks, graphics subsystems, and various OSes. People also started to build miniaturized variants, PC/XT clones, and 32-bit machines.

However, N8VEM is not about soldering kits. It is about joining in, trying new things, and picking up skills along the way. These skills range from reading schematics to debugging a computer card that does not operate as intended. The learning curve may be steep at times, but, because the N8VEM mail group is very active, expert help is available if or when you get stuck.

There is nothing preventing you from plugging in your own CPU board design. But if you do, you’re not forced to develop all the other expansion boards on your own.

As the novelty of designing a simple single-board computer (SBC) wears off, you may prefer to focus your energy on exploring graphics systems or ways to hook up 8-bit machines on the Internet. Or, you may want to jump into systems software development and share your experiences with a few hundred others. Retrocomputing is not always backward-facing. Making “Frankenstein” systems by adding modern Parallax Propeller chips or FPGAs to old hardware is a nice way to gain experience in modern digital electronics, too.

Photo 2—This is the N8VEM in its $20 stand-alone incarnation. Even without any other boards, this SBC provides sufficient I/O and storage options to be a full-fledged CP/M computer.

Photo 2—This is the N8VEM in its $20 stand-alone incarnation. Even without any other boards, this SBC provides sufficient I/O and storage options to be a full-fledged CP/M computer.

THE N8VEM SBC
At 10-cm × 16-cm (roughly 4” × 6”), the N8VEM computer does not look particularly impressive (see Photo 2). However, it provides all the capabilities of an early 1980s commercial microcomputer. In fact, thanks to CP/M, it is software-compatible with those microcomputers, offering a range of good programming languages (e.g., BASIC, C, Pascal, and Assembler). Excellent editors (e.g., ZDE) and word processors (e.g., WordStar) are also available. You could also run simple spreadsheets, databases and interactive games (e.g., Zork).

The small-sized N8VEM makes one concession to modern-day electronics: It uses a single, high-capacity RAM chip. All the other electronics are components that would have been used “back in the day” (e.g., simple 74LS logic chips, a Z80 microprocessor, and classic interface chips). A battery backs up the N8VEM’s memory; therefore, the RAM disk is a practical storage mechanism, especially because a ROM disk comes with most essential software installed. Use the N8VEM with a serial terminal, or (more likely) with a PC terminal program. The XMODEM protocol enables files to be transferred to and from the N8VEM.

GETTING STARTED: BOOKS AND TOOLS
Homebrewing is straightforward once you figure out how to do things. That is why homebrewing as a group is so practical. Still, two pieces of background information will prove indispensable for any builder: an understanding of basic computer hardware and Assembly language. Reading up on these topics will not only make things easier, but will also help you understand what you are putting together. (See the Resources section at the end of this article for helpful information.)

Only a few tools are necessary. Although, for many, building an electronics lab is part of the fun. A good soldering iron, an inexpensive “solder sucker” to correct mistakes, and a multi-meter are absolute requirements. A secondhand oscilloscope is a useful additional tool. A logic analyzer can also be a big help by enabling you to simultaneously inspect multiple signals and determine what is wrong. Old logic probes are expensive and cumbersome. New designs (e.g., Saleae’s Logic 8-channel USB logic analyzer) are inexpensive and better.

At some point you will need an EPROM programmer, unless you want to depend on others to burn EPROMs for you. Ensure you have a programmer that can deal with a range of (E)EPROMs, as N8VEM boards use many types. Finally, a laboratory power supply is a wise investment, mostly because it has a current limiter that cuts power when a short circuit could otherwise blow up your board.

Editor’s Note: This is an excerpt from an article written by Oscar Vermeulen and Andrew Lynch, “DIY Single-Board Computers (Part 1): Design and Expansion Options,”
Circuit Cellar 276, 2013.

Comments are closed.