If you want to program a microcontroller today, you pop open your editor of choice, bang out some code, and flash it over USB. But back in ancient times, when your editor was a piece of paper and you didn’t even have a computer of your own, things were a bit different. In that case, you might have reached for a “trainer”: a PCB that included the chip you wanted to program along with an array of switches, LEDs, and maybe even a hex keypad for good measure. Grab yourself the programming manual (printed on paper, naturally), and you’re good to go.
So when [Nicola Cimmino] became curious about the Motorola MC14500, a 1-bit ICU (Industrial Control Unit) from the 1970s, he could think of no more appropriate way to get up close and personal with the chip than to design an era-appropriate trainer for it. The resulting board, which he’s calling the PLC14500 Nano, is festooned with LEDs that show the status of the system buses and registers. Thanks to the chip’s single-step mode, this gives you valuable insight into what’s happening inside this piece of classic silicon.
But just because the board looks like it could have come from the 1970s doesn’t mean you have to live in the past. There’s an Arduino Nano on the backside of the trainer that handles communicating with a modern computer. [Nicola] even provided an assembler that lets you write your code in ASM before shuttling the binary off to the board for execution.
Interested in getting your hands on one? Not a problem. The design is completely open source for anyone who wants to build one at home. In fact, [Nicola] even got his trainer OSHW Certified. He’s also selling kits on Tindie, though at the time of this writing, they’re sold out.
This project has actually been a long time coming. We covered an early breadboard prototype of the concept back in 2015. We’re glad to see that [Nicola] was finally able to bring this one across the finish line. It’s a beautiful piece of hardware, and thanks to its open-source nature, something that the whole community can enjoy and learn from.
The MC14500 had an interesting “feature” that no matter which branch the code took, the execution time for a loop was constant — this was accomplished by reading but not executing the code for the non-active branch. The result was that loop time was constant, making programming of things like traffic lights or other industrial processes easy. IIRC, the thing had a 4-bit instruction word, so there were only 16 opcodes to remember.
And two of them are NOPs :)
I wonder if you could drive this chip to the extreme and construct a full all purpose computer, somewhere along the hobbyist dreams of the 70s, around it. Full with video output like what the Cosmac produces, ie. 64×32 pixels black and white, with a keyboard and some form of TinyBASIC.
This is very cool 🥰
The project that I never had time to get to. Looks like a fun diversion, now. Do let us know when production stock will support orders, I’d love to snag a couple, and share them with collaborators.
Back in the early 70s we made a custom 1 bit board for helicopter flight controls. 11 instructions but only 4 were really used.