Raspberry Pi Saves Printer From Junk Pile

Around here, printers have a life expectancy of about two years if we are lucky. But [techtipsy] has a family member who has milked a long life from an old Canon PIXMA printer. That is, until Microsoft or Canon decided it was too old to print anymore. With Windows 10, it took some hacking to get it to work, but Windows 11 was the death knell. Well, it would have been if not for [techtipsy’s] ingenuity with a Raspberry Pi.

The Pi uses Linux, and, of course, Linux will happily continue to print without difficulty. If you are Linux savvy, you can probably see where this is going.

It is a simple task to connect the printer to the Pi, set up CUPS, and then share the printer over the network. While Windows doesn’t want to drive the printer directly, it is more than happy to talk to it as a network printer.

While [techtipsy] was happy enough just to use Linux to start with, not everyone appreciates that option either because they are familiar with Windows or there’s some reason (e.g., hardware or work rules) that requires Windows. Once the printer is set up with the Pi, it doesn’t require any special knowledge to use it.

We’ve thought about doing something like this to put cheap thermal printers on the network. CUPS supports 3D printers, too, but we’ve never seen anyone really using it that way.

51 thoughts on “Raspberry Pi Saves Printer From Junk Pile

      1. Don’t let that discourage you! That “feature” of zebra label printers also affected win 98 through win7 IIRC. very picky about even small changes blowing up your print. steep learning curve…

      2. If you don’t mind replacing the Zebra with a Brother QL570 or QL720, there’s already a working project. I’ve been doing my labels for years that way. The Zebra works under the same principles, so it’s possible for you to change the code to suit the Zebra if you didn’t mind the time and effort.

        1. What is annoying with all Brother label printers, is that they require to use proprietary label rolls with black index boxes on the backside, where Zebra printers can you any.

      1. My doctor’s office has a dot matrix printer (next to a laser printer), apparently they have to keep literal carbon copies of some documents and only dot matrix printers will do that.

  1. Cool, but nothing new.
    I did the same almost 30 years ago when my customers did not want to change from Novell 3.xx to Microsoft Windooze server.
    Just add a headless Linux PC to the network, let it run a LPR que and do installing the needed (sometimes Postscript) drivers on the Windooze clients (anyway).
    The only bad thing when messing with Linux spoolers, the windooze clients had no full access in order to delete failed print jobs from the server.
    But other than that it worked.

    1. Your bragging about screwing your customers over?

      The one thing they _didn’t_ need was a 3rd OS on their network.
      But that was the OS you knew, so F-em.
      Linux print server it is, they can learn.
      Not like windows or Netmare had print services.

      1. “…customers did not want to change from Novell 3.xx to Microsoft Windooze server.” So Peter_s should have put the customers in a headlock and forced them to buy/use a windows print server they explicitly didn’t want? The customer is always right, remember? I suspect you have never done consultant IT support.

      2. Yeah, for a steep price, sure. Just the cost of the software licensing alone was enough to justify using Linux & CUPS instead. Not to mention, the horrible stability issues associated with Windows NT back in those days. He saved his company hundreds of dollars and arguably many hours of headache trying to debug stupid Windoze issues.

        1. Nonsense.

          They already had Netmare.
          Which had perfectly functional print services and idiot friendly windows client software to control same.

          Adding another OS is just a money/time sink.
          Would have been the same answer if an AS-400 expert had installed that as a print server.
          Obvious attempt at generating ongoing income.

  2. Pure luck that there is a PIXMA drivers for Raspberry CPU architecture. Recently tried to setup CUPS with another CANNON, i-SENSYS LBP7100Cn. and guess what. No way to set it up with default drivers available in CUPS and no linux driver built for this architecture on CANNNON website.
    Yes may be I can run CUPS on x86 architecture and use CANNON drivers.
    My usecase was to make a network enabled printer to handle AirPrint but no luck.

    1. I had an old HP printer and an Epson printer. Same deal – the Linux drivers didn’t have half the features or options, so I ended up scrapping the printer. Sure, it prints but I lost all paper type options, borderless printing, color profiles… what use is a photo printer if you can’t even choose between regular and photo paper?

  3. When chosing a printer I tend to stay with a Canon or Brother product for cross-platform support and longevity. For example in my wireless home network I have a Canon Pixma MG3620 ink jet printer, scanner, copier that was already pretty long in the tooth when I bought it more than five years ago. The wireless networked Canon MG3620 printer has worked flawlessly across Windows 10/11, various flavors of Linux (Mint Cinnamon in particular), and Free/Open BSD Unix (OpenBSD for a server mostly). The print head has never dried out or otherwise failed. When I do physical printing (which is pretty rare). The printer absolutely must work when needed. So-far, I can say the Pixma MG3620 has stood the test of time. Would I recommend the Pixma MG3620 for a busy office setting? No, but it’s fine for a home office that does not do a lot of physical printing. And Canon USA’s customer support, rarely when needed, has been stellar. For an active office setting, due to ink jet cartridge costs you might want to look at a Brother laser printer instead (grayscale or color). Avoid HP at all costs. You no longer own an HP printer these days – the HP printer OWNS YOU!

    1. I use Brothers here. They just work. Have two Laser Printers (one older B/W and the other Color). Work perfectly in Linux. Got the Laser Color printer because we don’t print much and my third printer, a Brother Tank printer seems to always have clogged nozzles that need cleaning. The laser never has a problem. Agree with you on the HP printers. My printers are my internal network, not ever connected to the Internet. HP would have a fit at that if I recall the latest news on HP printers correctly.

      What’s this Windows OS people talk about…. ;) Haven’t used it at home in many years now….

      1. +1 to Brother.

        Sick of inkjets that couldn’t out last their 1/4 full default ink cartage I splurged on a Brother (HL 1440) laser printer and was rewarded with 20+ years of trouble free printing.

  4. Did someone do that with Scanners? I remember from one day to the next, all office scanners stopped working due to Gates’ company deciding they’re now paperweights. Most of them work fine with Linux, however some don’t. My company (unfortunally) runs Windoze and so do all our customers which are doctors’ offices and they have scanners galore and, well, some of them just turned into paperweights too, and they’re not even that old!

  5. This is why you want a decent printer, not a device sold below cost price. I’ve got an HPLJ and HP DesignJet. Both were second hand, now about 20 years old. Both still running, both still talking to the newest MacOS, albeit with generic HP PCL drivers. Not had to do any repairs.

    1. I am a huge fan of “off lease” or refurb commercial gear. If you are friendly with the IT guys at work, sometimes it’s even free (those guys sure do a lot of upgrading)

    2. I’ve got an old LaserJet 4 Plus kicking around. The only problem I’ve had with it is a small plastic pin (molded into the print engine frame) broke off – this supported one of the several optical sensor flags used to detect progress in the paper path. Was able to drill a hole and press-fit a metal pin that was the same size.

      Then there’s the LaserJet 4000 that someone gifted me because it would occasionally generate media feed errors. The sheet would reach the top edge registration gate and jump through, feeding a blank page prematurely every time you try to print. Turned out to be the solenoid clutch not releasing soon enough, took it apart and wiped down the stacked discs with alcohol.

      After that I picked up a 4100TN from an IT guy along with some other junk. 350,000+ page count. Blew the dust out, cleaned/replaced a couple rollers, did a little adjustment to the page separator friction clutch in the paper tray (it was too tight). Works like a champ.

      These old workhorse printers just won’t die.

  6. Another useful printer upgrade involving a Raspberry Pi is to run usbip on both the RPi and on the client computer so the printer looks as if it’s connected via USB instead of Ethernet. This is useful when placing the printer in a different location, or when the printer doesn’t have any (or a fast) Ethernet port. I find that scanning speeds on my MFP are improved by a factor of 10x when doing this vs. using the printer’s built-in Ethernet port.

  7. Had a similar problem with my Laserjet 5. It printed fine on Windows 7. Printed fine on windows 10, until an update. Turns out, the newest HP PCL5 driver had removed support for the LJ5. Went poking around on the web, found someone who had saved the previous rev of the HP driver and loaded it…it printed fine until work “upgraded me to Windows 11 (which doesn’t support it, of course). Since my Linux box has never had a problem with it, I use it as a print server, and it allows me to print from Windows 11 Macs, iPad, pretty much everything.

    “F” HP and Microsoft.

  8. I have the exact same printer and never knew it had driver problems in win11… Since I use Arch Linux and it just works. Here’s hoping they keep selling the same ink!

  9. Yeah, using a print server isn’t a new idea, but a Pi is a nice option. People used to use ‘usb print servers’ as adapters for printers without a network jack. The Pi can be repurposed at some point, and won’t consume a lot of power or space or anything until then, while being a full arm computer able to support whatever you can convince it to run.

  10. Hi, I am Till Kamppeter, leader of the OpenPrinting organization and therefore responsible for making printing just work on Linux and most other non-Windows operating systems.

    Using a Raspberry Pi as a CUPS server for any printer which works under Linux but not under Windows any more is one solution, but if you have Windows 10 or 11 you can get away without extra hardware, by running the Linux print server on your Windows machine itself, using WSL. Here is a HOWTO for that:


    Here we do not use CUPS but Printer Applications which are software emulations of modern, driverless IPP printers, so of modern network printers. The around 10000 printer models which currently work under Linux are covered.

    The Printer Applications can also be run on a Raspberry Pi and using the Printer Application’s “Gadget mode” the Pi will even emulate a modern, driverless USB printer (IPP over USB). Then you just connect the Pi’s powering port (USB-C or Micro-USB) with a USB port of your computer and the printer works (and the Pi gets powered by your computer).

    More about Printer Applications:


    Scanner Applications are soon coming …

  11. My HP1320n has done its work about 10 years after I got it from my alma mater, where it has done its work.
    I have no problem when I throw my print load to our home server from Android or Linux workstations. M$Windows -what ia that ?

  12. Laserjet 1020 still works fine with win10 via usb and I would have to put my two cents in here as we were using goog cloud print till it fizzled. We started using PaperCut aka Mobility Print and it works great for free. I know no one gives a shit and wont read this so far down, but it is a simple solution to the network masking this seems to be so about. It is also great for keeping the dumb printers around.

  13. I used my Apple LaserWriter 360 the same way.
    First it was direct connect via serial port
    Then it was networked via LocalTalk.
    Then it was localTalk bridged to ethernet.
    This it was shared via cups/linux from a small headless box.
    Retired it 5 years ago. it worked fine, but I realized newer printers spit the pages out a lot quicker than 1995

  14. I ditched an old HP Jet Direct with a giant wall wart power supply connected to my old trusty LaserJet 1200 (before HP started pumping out e-waste garbage) and mounted a pi zero w inside. I tapped it into 5v I found on the printer mainboard and connected it internally. Viola a wifi laser printer that is easy to print from any device on my network without installing convoluted tcp port drivers!

  15. I recently saved a Brother USB mono laser printer from the ewaste with barely any pages under its belt. Set up CUPS and shared it on the LAN. It beats buying inkjet ink!

  16. Did a cups server on pi zero w when they came out. What’s the big deal? Most printers have 5V internal.supply so you can install the pi inside the printer.

  17. I have several perfectly good inkjet printers that I am unable to use not because my computers won’t run them but because I can’t get ink cartridges for them. This includes a NIB Brother printer that was a gift from a relative. The cartridges have either reached their end of life cycle and are no longer sold or those that remain in circulation are way past expiration. Even new ones are way too expensive making them uneconomical to use. The ink kits are also messy and a waste of time and money. Outdated interfaces I can deal with, razor and blades marketing I can’t so my policy is to avoid those companies whenever possible.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.