Hackster will be offline on Monday, September 30 from 8pm to 10pm PDT to perform some scheduled maintenance.

Herman Õunapuu Brings an Abandoned Printer Back From the Brink with a Raspberry Pi

A 2014 vintage Raspberry Pi Model B+ is all you need to turn a printer abandoned by Windows into a network-accessible device for all.

Gareth Halfacree
4 months agoUpcycling / HW101

The constant march of technological innovation can leave otherwise perfectly-usable devices orphaned through lack of drivers. What can you do when your operating system stops supporting your favorite printer? Sub in a Raspberry Pi, as software developer Herman Õunapuu demonstrates.

"A family member has a Canon PIXMA MP250 printer, originally released in 2009. It has been a very reliable piece of hardware, especially for a printer," Õunapuu explains. "Then came Windows 10. The printer would not work out of the box with it and the official drivers got stuck during installation. Fiddling with the printer in device manager, trying to install drivers via Windows Update and stars aligning got the printer to work again. Then came Windows 11. Nothing I did could get it working now, and the printer is not even officially supported by Canon on this version of Windows."

While Canon may have stopped developing new drivers for the ever-shifting target that is Microsoft Windows, things were different on the open-source side of the fence: drivers included as standard with most Linux distributions supported the printer out-of-the-box, and had done for years — but with Õunapuu's family member forced into using Windows in order to support a proprietary application for which no usable alternative was available, that wasn't much help. Or was it?

"Quick searches online suggested that I could turn this printer into a network printer, as long as I had some patience and a spare computer," Õunapuu writes. "The idea is simple: take a spare computer, hook it up to the printer, install CUPS on it, configure it and you’re good to go! I initially tested this setup with a ZimaBoard running Fedora Server, but the final solution used an old Raspberry Pi [Model] B+ running the latest version of Raspberry Pi OS."

That "old Raspberry Pi" is, indeed, vintage: it's from Raspberry Pi's first major hardware refresh, which brought in the now-standard 40-pin general-purpose input/output (GPIO) header but retained the single-core ARM11 processor — enough to run the printer, Õunapuu found, though with the CPU pegged for the duration of the print job. "If you don’t mind a slower printing speed, then any Raspberry Pi will be absolutely OK," he advises. "More performant versions of Raspberry Pi will likely fare even better."

Õunapuu's guide to turning a Raspberry Pi — or other Linux-based single-board computer — into a print server is available on his blog.

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