Hacking a 30-year-old printer back to life with megaAVR

Many engineers out there likely have an ever-increasing collection of old hardware that they promise to restore or use one day. Sound familiar? After coming across an old Radio Shack TRS-80 TP-10 thermal printer in one of his boxes of old gear, a Maker by the name of Danny Chouinard decided to give this vintage printer a brain transplant.


Back in 1984 the TP-10 was the crème de la crème. “It was relatively low cost at around $100 and was whisper-quiet,” Chouinard notes. As a result, the Maker had elected to keep it around hoping to get it in service one day.

Chouinard wanted to find new paper for the printer, however only had one half of a 30-year-old roll remaining. Cognizant of the fact that he would could go out and purchase thermal paper for fax machines, he soon realized that it would be too wide at 8.5 inches. Fortunately, the Maker was able to get his hands on a neighbor’s saw to trim the paper down to the right size. In fact, the new fax paper actually looked better than the old stuff!


To make this printer useful in the modern day, Chouinard wanted to increase the 32 characters per line limit and speed up the printing process a bit. First, he needed to understand exactly how the old printer worked. As Hackaday points out, if Chouinard was going to replace the CPU, he was going to need to know exactly how it functioned. He started by looking at the PCB to determine the various primary functions of the printer. He needed to know which functions were controlled by which CPU pins. After searching around, the Maker was able to locate an original manual for the machine, which also included the schematic for the circuit.


With that out of the way, the Maker decided to build a logic analyzer out of an Atmel ATmega664 and two static ram SPI chips. With a full investigation of the printer’s inner workings complete, Chouinard set out to finish his logic analyzer. Upon completion he tells, “It can sample 8 signals every 3 micro-seconds, 6 samples every 6, 24 every 10. With only 64KB it can fill its memory in about a fifth of a second, but can be tuned slower at run time.”

After some serious logging and exploration, Chouinard acquired a solid understanding of how the aging thermal printer operated. He knew he could increase the character limit with a full-fledged transplant of the printer’s brain. So, he repurposed another ATmega MCU and got the new firmware to crank out up to 80 characters a line — nearly double its original amount. And just like that, it is alive!

Chouinard has provided an incredibly detailed log of how he brought this printer up to modern speed on his website.

1 thought on “Hacking a 30-year-old printer back to life with megaAVR

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s