CERBERUS 2100™ is a software-rewireable, educational, multi-CPU, BASIC-programmable microcomputer with powerful, generic expansion capabilities. It is the successor of CERBERUS 2080™, which is now obsolete and superseded.
The IEEE Spectrum magazine has covered CERBERUS 2100™ in its November 2023 issue. The article provides an overview of the design and its capabilities.
Beautiful glamour shots of the CERBERUS 2100™ board.
The story and objectives of the design, as well as an overview of the architecture, can also be found in this post. All technical details are available in the in-depth, all-encompassing hardware manual. And for the latest news and developments, you can join the developers' group.
Demonstration
Latest news
Olimex is now selling custom cases for CERBERUS 2100™ (for just €12), and they are fantastic! See photos below.
BREAKING! European electronics company Olimex is now selling ready-to-use CERBERUS 2100™ units on their website. They cost only €219 each.
Movie Vertigo has implemented a CP/M-friendly 80-column mode in CERBERUS 2100, including dynamic mode switching!
He has also ported Bad Apple to CERBERUS 2100™:
Movie Vertigo has created command extensions to the BIOS to support file streaming. These new commands are not merged into the main development trunk, but can be found in his fork.
There is now an emulator for CERBERUS 2100™, originally written by Paul Robson and adapted by Lennart Benschop.
CERBERUS 2100™ is now available at PCBWay. The factory assembly file contains only the small SMD components, as the larger ones can be drag-soldered by hand (if you have the skills). This can be handy for those of you who have collected a lot of PCBWay 'beans,' have soldering skills, and want to get a CERBERUS board on the cheap.
A new video review of CERBERUS 2100™.
A Russian article about the educational value of retro and vintage computers, going into a fair bit of detail about CERBERUS 2100™.
Hardware Libre magazine calls CERBERUS 2100™ a revolution in computer literacy (in Spanish, but also in Dutch).
Geektopia coverage of CERBERUS 2100™ in Spanish, highlighting and celebrating the return of the Z80 and the 6502.
Moreware coverage of CERBERUS 2100™, in Italian.
Raspberry ME article on CERBERUS 2100™, in French.
Hackster.io coverage of the launch of CERBERUS 2100™.
TUX Machines article on CERBERUS 2100™.
LinuxGizmos article covering the launch of CERBERUS 2100™.
Here is Olimex's blog post announcing the launch of CERBERUS 2100™.
CNX-Software has covered the launch of CERBERUS 2100™ by Olimex.
CERBERUS 2100™ is also available for sale in Fred Smith's Australian Tindie store.
Jeroen Venema (a.k.a. @envenomator2) has released a new version of his game Sokoban for CERBERUS 2100™, using the new color capabilities. See images below.
CERBERUS 2100™ can now display up to 8 colors on the screen, simultaneously. An update to FAT-SCUNK (which does not change the PCB or the firmware, and can be applied to all existing boards) now assigns different foreground colours per character. Here's what the character map and starting screen now look like (remember: all characters in CERBERUS 2100 are redefinable on-the-fly):
A Spanish translation of the IEEE Spectrum article on Espanol News.
Hackster.io has covered CERBERUS 2100™ in an article.
The IEEE Spectrum magazine has covered CERBERUS 2100™ in its November 2023 issue. Have a look!
Jeroen Venema has released his 'MegaHat' for CERBERUS 2100™, an elegant way to connect an Arduino MEGA to CERBERUS's expansion port. See photo below:
About CERBERUS 2100™
CERBERUS 2100™ is an educational platform featuring both Z80 and 6502 CPUs, plus an AVR processor as I/O controller. Built with CPLDs, CERBERUS 2100™ is fully programmable even with respect to its hardware, at the level of individual gates and flip-flops. It runs BASIC interpreters on both CPUs, but can also be used in a 'bare metal' mode through its built-in BIOS. It can even be extended through its expansion slot, which comes paired with a powerful, generic communications protocol that allows for Direct Memory Access (DMA).
All project files, including design, firmware, software, and manufacturing files, are freely available in the repository under a very permissive MIT license.
Key features
Every aspect of CERBERUS 2100™ has been designed specifically to advance its educational goals:
- The architecture is clean and devoid of shortcuts. Cost comes second to clarity, internal consistency, and elegance.
- The design is very modular and compartmentalized: there are three modules—the video circuit, the computer proper, and the expansion circuit—which are asynchronous and communicate with one another via memory-mapped I/O. Any of the three can be modified independently of the other two.
- The architecture is implemented with a chipset of three CPLDs: all design details can be seen in the CPLD design files, down to the individual gate and flip-flop. Modifications can be made to all three chips with little concern about timing closure, as CPLDs have fixed propagation delay for boolean logic. All three chips can be modified in-system, using standard JTAG tooling.
- No systems-on-a-chip or highly integrated devices are used, not even for the video circuit. The latter is designed explicitly at the gate-level, so students can see exactly what is going on across the system, as well as modify it. The only parts of the system that are effective 'black boxes' are the three processors. However, the way these three processors are brought together with each other, the memories, video circuit, expansion logic, etc., is explicit down to the gate level.
- The use of dual-ported memories allows for video circuit and computer proper to be entirely asynchronous, so either can be modified or otherwise experimented with without regard to the timings of the other.
- The system integration logic is made to be generic, so not only the two very different on-board CPUs can be accommodated in it, but also any extra processor on an expansion card.
Team effort
CERBERUS 2100™ is a collaboration of three developers: Alexander Sharikhin (6502 BASIC interpreter, BIOS optimizations, and test code optimizations), Dean Belfield (Z80 BASIC interpreter and BIOS optimizations), and myself (hardware, original test code, and original BIOS code).
Some other contributions to the platform are notable. Lennart Benschop has ported a FORTH interpreter to CERBERUS 2100's Z80 CPU, and created a high-resolution graphics library that runs under the Z80's BASIC interpreter. And Jeroen Venema has ported the highly addictive game SOKOBAN to CERBERUS 2100's 6502 CPU.
PCB overview
CERBERUS 2100™ has a four-layer PCB, out of which two layers are the inner ground and power planes. All signals are routed on the top and bottom layers. The figures below show the relatively dense routing. Notice, however, that all high-speed routing practices were observed, even though this is far from a high-speed board: all signal VIAs have return-path VIAs right next to them; there are no loops and minimal branching; signals are always referenced to the underlying or overlying plane; etc.
Get a CERBERUS 2100™
European electronics company Olimex sells ready-to-use CERBERUS 2100™ units on their website. They cost only €219 each.
CERBERUS 2100™ is also available for sale in Fred Smith's Australian Tindie store.
Regardless of the above, however, all necessary design and manufacturing files are available in the Github repository, so anyone can make units—or have them made—commercially or otherwise. You do not need a separate license or explicit permission from me, due the open source MIT license used in the distribution.