Hobby Single-Board Computer

Cygnus-1, MC68000-based Single Board Computer (SBC)

In the early 1990s, Brian was developing a home-built flight simulator in the garage for the kids. This project involved three Amiga computers for the Head-Up Display (HUD), the Multi-Function Display (MFD), and the Instructor's Operating Station (IOS). In order to provide enough compute power for the sim, it was decided to develop a parallel computer, composed of home-built, single-board computers (SBCs) that would communicate with one another using a custom, parallel databus. Other SBCs would be used to handle the input/output (I/O) for the sim, such as reading switches and controls, as well as controlling lights in the cockpit.

The reason for using a parallel computer based on SBC nodes was a matter of economics. At that time, 33MHz Intel 80486-based computers often cost $2,000 or more. This was a prohibitively high cost for use in many hobby applications, including the garage flight simulator, so a lower cost alternative was investigated.

It was determined that a 16MHz Motorola 68000-based node could be built for under $250, about one eighth the price of the 486 PC, yet would offer at least a 2-to-1 cost-effectiveness over the PC, when used as a compute engine for the sim. In addition, the parallel design of an SBC-node system would allow the compute engine to be scaled up as simulator complexity grew during development.

The initial concept was that each SBC would be use wire-wrap circuit boards. This allowed construction of the computer by connecting wires between computer chips on the circuit board, but was a tedious means to construct circuits. However, as time passed, small companies began to offer low-volume printed circuit board (PCB) production at somewhat affordable prices, making it possible for hobbyists to consider custom PCBs for their projects. At that point, it was decided to create the SBC that would become Cygnus-1.

Two wire-wrapped boards were developed prior to Cygnus-1. The first board was a simple demonstrator to prove that a 68000-based system could be developed using the available tools. These tools included a Commodore Amiga computer for software development and a home-built, wire-wrapped EPROM burner. This first SBC included a MC60008 processor (with an 8-bit external data bus), 16kB EPROM, 8kB SRAM, and a few LEDs.

Amazingly, the system actually worked, and thus proved that the EPROM burner functioned properly and that the Amiga assembler could generate absolute addressing code. This early development was followed by the use of Amiga C compilers to generate binary images. However, in order to do this, additional utilities were written to convert Amiga-DOS load files into a usable form for the wire-wrap computer. While this technique worked, it entailed a large amount of research and development to achieve the capability.

By this time, the first primitive, demonstrator system was no longer useful for further development, and a new system was needed. This system was also wire-wrapped, but it now included a full 68000 processor (32-bit internal and 16-bit external data buses) a serial port, 16-bit timer, and a special data bus to allow the use of additional boards.

Development and testing of this board continued over several months in 1993. With the general design being proved successful, design of Cygnus-1 began. Many iterations of the design were performed over several months, finally culminating in the layout of the Cygnus-1 printed circuit board (PCB) in 1994. The PCB design and layout was modified several times over the next month, prior to it being sent to the board manufacturer.

To save costs, two Cygnus-1 PCBs were produced on a single board, and these boards were later cut apart manually (using a box cutter and an X-Acto knife) upon delivery from the board manufacturer.

The first Cynus-1 board was then "stuffed", meaning that the components were soldered in place, and then software was developed to test the major features of the Cygnus-1 to confirm functionality. This quickly showed that the board was functional and that it didn't require any "cuts or jumpers" (adjustments to the PCB to correct for design errors or layout mistakes). Most of the system features were fully tested, but operation of the multi-processor data bus was never demonstrated.

 

System Overview

Cygnus-1 was a Single Board Computer (SBC) that was capable of both embedded system and parallel processing applications. It utilized the popular (at the time) Motorola 68000 microprocessor (that was used in Macintosh and Amiga computers), and included up to 256kB of Flash EPROM and up to 256kB of SRAM. It also included four RS232 serial ports, two 16-bit timers, a real time clock, a configurable watchdog timer, and a 16-bit multi-processor databus. Cygnus-1's 16-bit databus (32-bit processor internal bus) allowed additional peripheral boards to be added to a system, and the bus's multi-processing characteristics allowed multiple boards to be included for increased computational power through parallel processing.

Feature Summary

  • Motorola MC68000 Microprocessor, 8MHz or 16MHz
  • 4x RS232C Serial Interface Ports
  • 2x 16-bit Timers
  • 2x Flash EPROM Sockets (up to 256kB)
  • 2x SRAM Sockets (up to 256kB)
  • Real Time Clock
  • 32 byte NVRAM
  • Watchdog Timer
  • Multi-Master 16-bit Data Bus
  • 4x LED Status Indicators
    • Power-On
    • Reset
    • Software Controlled
    • Software Controlled
  • 5 VDC Power (12 VDC required for Flash Programming)
  • Dimensions: 4.75" x 8.00"

Epilogue

While development of Cygnus-1 and its predecessors was being undertaken, costs of PCs continued to drop, while Cygnus-1 costs held steady. As a result, the cost-effectiveness of Cygnus-1's parallel processing was first eclipsed by 486 processors with math co-processors and later by Pentium-class machines.

Cygnus-1's basic features provided a good general purpose processing core and offered much greater computing power than the 8-bit microcontrollers and some of the 16-bit microcontrollers available at the time. It's 4 serial ports and data bus also provided several means of interfacing with other components of an embedded system.

Today, with Arduino and Raspberry Pi off-the-shelf embedded systems being very cheap and capable, Cygnus-1 is now little more than a "conversation piece" and a reminder of a day gone by, when a home-built, parallel computer offered greater cost-effectiveness than any commercial computer system...

 

-- January 2020