Bernardo Kastrup's CERBERUS 2100 Is an Educational SBC Combining the Zilog Z80 and MOS 6502

With two competing CPUs, an AVR, and even user-programmable CPLDs, this three-domain microcomputer aims to fill a gap in education.

Gareth Halfacree
11 months agoRetro Tech / HW101

Engineer and retrocomputing enthusiast Bernardo Kastrup has designed an educational single-board computer that packs both a MOS 6502 and a Zilog Z80 processor, finally bringing an end to any number of schoolyard fights from the 1980s.

"My childhood coincided with the early days of the home computer revolution, which provided me with an endless source of fun and wonder," Kastrup writes by way of background to the project. "I worked hard to go to computer engineering school at just 17, because I wanted to build my own bespoke microcomputer.

"Frustratingly, though, year after year I was taught information theory, digital signal processing, control theory and whatnot, but not how a complete computer is put together from scratch. Apparently, that wasn’t considered important, as in our professional lives we were expected to work only on, and with, high-level parts — not the whole, and not from scratch."

The CERBERUS 2100 finally puts the 6502-versus-Z80 debate to rest — by putting both on one board. (📹 Bernardo Kastrup)

Describing this as "a shortcoming of engineering education," Kastrup decided to do something about it and design the educational platform he wanted to see back then: the CERBERUS 2100. "While being a complete and fully functional computer," he writes, "it illustrates — down to the level of individual gates and flip-flops — how a relatively complex, multi-processor system can be built.

"Moreover, it allows for experimentation at both firmware and hardware levels, as the system is built around three in-system programmable CPLDs [Complex Programmable Logic Devices] and an AVR I/O [Input/Output] controller."

When Kastrup says "multi-processor," he really means it. Back in the early 1980s, low-cost computing was split into two main camps: those using the MOS Technology 6502 and those using the Zilog Z80. Kastrup's design, though, uses both on one board, in order to expose students to the advantages and disadvantages of both — as well as the flexibility of the CPLDs, which can be reprogrammed on-demand using a JTAG interface. The system firmware, meanwhile, runs as an Arduino sketch on a Microchip AVR microcontroller — and can, itself, be reprogrammed.

"CERBERUS 2100 runs BASIC interpreters on both of its CPUs," Kastrup adds. "The interpreters were ported by Alexander Sharikhin (W65C02S) and Dean Belfield (Z80), who also significantly improved my original firmware. CERBERUS is the result of our collaboration. We hope it will be as useful to faculty — and enjoyable to students — as it has been fun for us to build."

More information on the CERBERUS 2100, which replaces Kastrup's earlier CERBERUS 2080 design, is available on The Byte Attic; Kastrup has also penned a piece on the board for IEEE Spectrum, which brought the project to our attention. A production run of the device is planned, while those eager to get started in advance can find the design files and source code on GitHub under the permissive MIT license.

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