
Ted Fried's MCL8080+ squeezes a complete Intel 8080 emulator into an ATtiny85 (8 pins, 512 bytes of RAM) by offloading memory, storage, and I/O to a Teensy 4.0 over SPI, then adds a 128-byte direct-mapped cache inside the ATtiny85 to make it fast enough to boot CP/M at near-Altair 8800 speed. The full build — schematics, KiCad PCB, Gerbers, and both firmware files — is MIT-licensed on GitHub. BOM totals ~$26–30, all through-hole, Intermediate difficulty.

cache_addr[128] and cache_data[128] absorb repeated memory reads from tight loops and instruction streams, slashing round-trip SPI traffic for the most common access patterns. 3 On top of that, Fried redesigned the SPI protocol itself: burst cycles auto-increment addresses, the chip-select pin toggles rather than pulsing low-then-high, and stack Push instructions reorder their writes to keep addresses incrementing. All of this fits in 33 KB of ATtiny85 firmware, leaving room for a 256-byte precomputed parity table. 1| Part | Qty | Notes | Est. cost |
|---|---|---|---|
| ATtiny85V-10P (DIP-8) | 1 | 8 KB Flash, 512 B SRAM, 10 MHz | ~$1.50 |
| Teensy 4.0 | 1 | NXP i.MX RT1062, ARM Cortex-M7 @ 600 MHz | $24.00 |
| 680 Ω resistor (axial THT), R1/R3/R5 | 3 | Voltage divider, ATtiny85 5V → Teensy 3.3V | ~$0.30 |
| 1.2 kΩ resistor (axial THT), R2/R4/R6 | 3 | Voltage divider bottom half | ~$0.30 |
| 0.1 µF ceramic capacitor (THT radial) | 1 | Decoupling, C1 | ~$0.10 |
| 10 µF electrolytic capacitor (THT radial) | 1 | Bulk bypass, C2 | ~$0.15 |
| Custom PCB (optional) | 1 | Gerbers included; JLCPCB ~$5–10/5 pcs | ~$1–2/ea |
.kicad_sch), PCB layout (.kicad_pcb), a production Gerber zip (MCL8080_PCB_Products.zip), a custom footprint library, and the Teensy 4.0 KiCad symbol. 5.ino format and licensed MIT. 5MCL8080.ino, ~33 KB): The actual 8080 emulator. Compiled with the Arduino IDE and flashed via a USBasp programmer or an Arduino board wired as ISP (no special tools, $5 at most). Requires the ATtiny85 board support package in Arduino IDE. 3Teensy_SPI_Slave.ino, ~4 MB): The SPI peripheral controller. Flashed using the standard Teensyduino plugin for Arduino IDE. The 4 MB footprint is almost entirely the embedded disk images — 4K BASIC ROM, 8K BASIC ROM, CP/M system disk, and a second drive loaded with applications and games. 6.hex files are provided — builders compile from source. For anyone familiar with the Arduino ecosystem, this is a non-issue. The repo does not include a standalone LICENSE file; both .ino headers carry complete MIT license text.

-10P suffix means 10 MHz max clock — suitable for this design. The -20P (20 MHz) variant also works and is sometimes cheaper.MicroCoreLabs/Projects, 510 stars, 100 forks across all projects) contains every file a builder needs: firmware source, schematic, PCB layout, production Gerbers, and the fake Popular Electronics cover as a project writeup. 5 The MicroCore Labs blog post walks through the architecture and key design decisions in depth. A project that ships with production Gerbers and a KiCad 9.0 library on day one is serious about reproducibility.hackaday.com
raw.githubusercontent.com
raw.githubusercontent.com
raw.githubusercontent.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.