Stephen Cass' Upcycled TRS-80 Model 100 Uses an Arduino Mega 2560 as a Display Driver

Having picked up a dead TRS-80 Model 100 to repair another, Cass decided to upcycle the donor with an Arduino-powered display driver.

IEEE Spectrum's Stephen Cass has saved a classic portable computer from the scrap heap thanks to some clever upcycling, turning a broken TRS-80 Model 100 into an Arduino Mega 2560-powered custom terminal.

"How hard could it be to swap out a 40-year-old 8-bit 8085 CPU and motherboard for something more modern," Cass asks, rhetorically, in a retrospective of the work carried out on his project thus far — work which is ongoing with a view to eventually build the system up to a modern multi-core Linux box.

The answer: reasonably hard, if you're looking to retain the original LCD panel, which sits above the portable's keyboard to provide what was at its launch in 1983 an impressively-capable device for computing on-the-go. "The M100’s LCD is really 10 separate displays, each controlled by its own HD44102 driver chip," Cass explains. "The driver chips are each responsible for a 50-by-32-pixel region of the screen, except for two chips at the right-hand side that control only 40 by 32 pixels."

Using a handy service manual, the HD44102's datasheet, and other vintage computing enthusiasts' efforts in the same field, Cass was able to connect the LCD to the Arduino Mega and display arbitrary images — turning the Arduino into, effectively, a monochrome display driver accepting bitmap inputs and formatting them as required.

"The LCD can now be hooked up to the microcontroller of my choice via a parallel or serial connection to the Mega, which copies incoming data to the framebuffer," Cass explains. "I intend to use a Teensy 4.1, which will allow me to talk to the matrix keyboard directly, have enough compute power for some basic text-editing firmware, and provide a VT100 terminal serial interface—which could be to a Raspberry Pi 4 Compute Module also mounted inside the [Model 100]. That would provide Wi-Fi, a 64-bit OS, and up to 8 gigabytes of RAM—a big step up from the 8 to 24 kilobytes that the case originally housed!"

Overhauled or re-imagined TRS-80 Model 100s are a common sight in the maker world: four years ago Trammell Hudson used a Teensy++ microcontroller board to replace a faulty motherboard, and like Cass reused the original display through some clever coding, while pseudonymous maker "belsamber's" take on the upgrade saw the stock screen replaced with a modern ultrawide capable of running two full-width terminal side-by-side. The core TRS-80 design, meanwhile, has inspired devices from the Clockwork Pi DevTerm, now available in a RISC-V-powered variant, to the chunky READY! Computer Model 100.

Cass' full write-up, along with links to the service manual and other resources, is now available on IEEE Spectrum.

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