Making a wireless printer from a Raspberry Pi


I had two bits of unused hardware knocking around – a Raspberry Pi that used to run my Go Free Range weather printer (the thermal printer broke – another story), and an old Samsung ML-1510 black and white laser printer that was pretty useless to me as you can’t get up-to-date Mac OS X drivers for it. The laser printer only cost me about £40 when new, but I hate seeing things go to waste.

I wondered if it was possible to glue them together – turn the Raspberry Pi into a print server that I could leave on all the time plugged into the laser printer. And, dear reader, it is possible. And incredibly easy. Using this guide: I had it working in about 30 minutes.

The only thing I’d add is that you should update your Pi by typing
sudo apt-get update
at the command line before installing CUPS. But other than that, it worked like a dream. I couldn’t see a link called ‘Do Adminstration Tasks’, but when I went to the web page for managing the print server on my laptop and tried to change the settings to share my new / old laser printer to the network, I was challenged for a password, and provided the user name and password for my Raspberry Pi login. I added the printer by turning it on, and plugging its USB socket into the Pi’s remaining free socket and clicking on the ‘add printer’ button on the web page. I searched for Samsung and found the ML-1510 in the list – a relief after lots of OS X driver hell for this printer. (The Pi’s other USB socket has a wifi dongle in it. This is a ‘headless’ Pi with no screen, keyboard or mouse, and I control it at the command line by using SSH from another computer).

Screen shot 2013-12-09 at 22.51.49

So now, on an Apple Laptop, if I go to print, I see my Samsung printer listed ‘@raspberrypi’. I fired up Word and printed a ‘Hello World!’

Turning a RaspberryPi into a wireless print server

A useless laser printer and unloved Pi are now doing useful work once more, and I’m hoping we can print our essays out a bit more crisply and more cheaply than on our ink jet printer. We can print from our iMac, our iPhones, laptops and even from our old iPad (although not, at the moment, from an Android tablet). Not a bad result for half an hour’s tinkering.


As for my thermal printer… well, that’s another story…

Perhaps I can write a script to print the BBC Weather page every morning at 6am…

Post Script

I just remembered why I bought the laser printer in the first place – I wanted to get into Print Gocco print making. And then they stopped making Print Goccos. Why? Why why why why? The Chinese can put a probe on the moon, but the Japanese can’t make Goccos any more? Oh what days we live in…

This entry was posted in Linux, Raspberry Pi, Raspbian, thrift. Bookmark the permalink.

4 Responses to Making a wireless printer from a Raspberry Pi

  1. Pingback: Making a wireless printer from a Raspberry Pi @Raspberry_Pi #piday #raspberrypi « adafruit industries blog

  2. Brian says:

    Hi, i’m wondering if there’s not missing some steps here.

    I’ve just tried to follow the guide you are linking, and it seems there’s quite a few more steps in getting airprint and network printing via Windows PC to work. Which isn’t described in the link you’ve posted. What guides did you follow to complete the Airprint setup??

  3. WOW! Very informative post. I just got a Pi from my uncle and I was searching about ways I can use my Pi and I love this way of using it. I have a Samsung ML-1610 Monochrome Laser printer and I am going to try this way of having a wireless printing device! And I loved your Idea of printing BBC news every morning. Can you Please give me the code that you wrote. I will be very thankful to you.
    Waiting For Your Reply,
    Anurag Sharan,
    Delhi Public School,
    Jamshedpur, India

Leave a Reply to Brian Cancel reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>