Kian Ryan's Tiny 2040 Build Could Be the Smallest CP/M Microcomputer in History
Designed with a minuscule footprint, this fully-functional CP/M build uses just two main components: a Tiny 2040 and a microSD reader.
Software engineer and vintage computing enthusiast Kian Ryan has put together what may well be the smallest CP/M microcomputer around — building atop a Pimoroni Tiny 2040 and an Adafruit microSD card reader.
"I’ve been using the RC2014 as a a CP/M development machine, especially while developing a cross-platform Rogue-like game. I love it," Ryan explains, referring to the popular modular Zilog Z80 computer kit. "And whilst it's a hell of a lot more portable than carrying a Osborne 1 or a Amstrad CPC 6128, it’s not something I can keep in the laptop bag and just pull out at the coffee shop (Both the RC2014 Mini with CP/M upgrade and the Extreme Kits RC2040 are ideally suited for this). I wanted to see if I could put together a truly tiny CP/M based system using RunCPM and the RunCPM-Pi-Pico project and make it even smaller."
Originally the Control Program/Monitor written by Gary Kildall and launched into the market by his company Digital Research, CP/M saw its last official version come out in 1983 — but the release of its source code, recently clarified as being free for all to distribute by current rights holder Bryan Sparks, means it still sees use in resource-constrained environments. While most of those are based on genuinely vintage hardware, like the Z80-based RC2014, Ryan's approach is different: using a modern microcontroller, the Raspberry Pi RP2040, to build something equivalent to an 80s microcomputer in a tiny footprint.
"Using a Pimoroni Tiny 2040 and an Adafruit 3V Micro SD SPI breakout, I wired them both to a piece of leftover protoboard, using the wire to stand the Tiny off the board (the Tiny has components on both sides)," Ryan explains of the build, which stands at just over five inches on its longest side. "I pulled the code down from the [RunCPM-Pi-Pico] repo, added a new hardware profile in, and followed the instructions for using the adding 2040 board support to Arduino."
"First test is Zork [Infocom's famous interactive fiction title]," Ryan continues, "which is running fine. I’ll do some more comprehensive testing later hopefully involving Turbo Pascal - but this might be the smallest CPM machine built so far?"
More details are available on Ryan's blog, while a fork of the RunCPM-Pi-Pico with support for the Tiny 2040 is available on his GitHub repository under the "tiny2040" branch.