How to Build a DIY Wireless Printer with a Raspberry Pi

Raspberry Pi Wireless Printing Featured

If you have an old-school printer or simply a printer without wireless connectivity, you don’t need to upgrade. You can create a DIY wireless printer if you have a spare Raspberry Pi.

Here’s everything you need to do to set up a Raspberry Pi wireless print server.

Preparing Your Raspberry Pi

Setting up a DIY wireless printer requires a Raspberry Pi with a suitable Linux distro. One of the best Raspberry Pi Linux distros is Raspbian, the flavor of Linux officially supported by the Raspberry Pi Foundation. The instructions for this guide will be suitable for Raspbian and other Ubuntu or Debian-based distros.

You’ll need to choose a Raspberry Pi with available USB ports, so the Pi Zero isn’t hugely suitable here. You’ll also need to provide network access to your printer through your Pi.

To make things extra portable, a wireless-capable Raspberry Pi would be best here, but there’s nothing stopping you from using an older Pi with a USB wireless adapter.

Installing CUPS

Before you do anything, run sudo apt update and sudo apt upgrade in a terminal window or over an SSH connection to ensure your Raspberry Pi is fully up to date.

Installing CUPS is your next step. CUPS, or Common UNIX Printing System, is a print server designed by Apple that’s extensively used on Linux and Unix systems. You’ll also need to ensure that SAMBA, which you’ll need to print from Windows devices, is installed.

To install them both, type:

sudo apt install samba

and

sudo apt install cups

Once this is done, add your user account to the admin group for printing by typing:

sudo usermod -aG lpadmin pi

Replace pi with your username if you’ve switched from the default.

Enabling Remote Access to CUPS

If your Raspberry Pi has a GUI and you’re working on it directly using a keyboard, you can open a browser and visit 127.0.0.1:631. Otherwise, replace 127.0.0.1 with your Pi’s network IP address to access it from your PC or another device, but you’ll need to allow remote access to CUPS first.

Open your terminal and type the following:

cupsctl --remote-admin --remote-any --share-printers

If you see a “connection refused” error after this, reboot your Pi.

Installing Your Printer and Enabling Network Access

You should be able to visit your CUPS admin page once you’ve enabled remote administration. Go to the “Administration” tab at the top, and log in with your Pi username and password when requested.

Raspberry Pi Wireless Printing Cups Config Page

From here, click “Add Printer,” making sure your printer is connected to your Raspberry Pi first. You should see your printer in the list under “local printers.” Select it, then click “Continue.”

Confirm any details and give your printer a different name if you’d prefer. Make sure to click the “Share This Printer” checkbox. If you don’t, you won’t be able to print from it remotely. Once you’re done, click “Continue” again.

Raspberry Pi Wireless Printing Cups Printer Make

Select the make of your printer (for example, “Samsung”) in the next menu. You’ll then need to find and select the particular model of your printer – click “Add Printer” once you’re done. You can also select “Raw” as your printer “make” to allow local devices to load their own drivers, but this may not work for every device.

If you can’t find your printer listed, look for the relevant PPD (PostScript Printer Definition) file on the OpenPrinting website.

Finally, click “Set Default Options” to complete the printer setup. You can select “Print Test Page” from the maintenance drop-down menu under your printer to check that everything works okay.

Connecting to Your Network Printer

The next step is to actually connect to your printer. On Windows 10 you can do this by going to “Settings,” then “Printers & Scanners” and clicking “Add a printer or scanner.” You’ll need to be on the same network as your Raspberry Pi to do this.

Raspberry Pi Add Printer Windows

The scan should find the network printer quickly. Select it and click “Add Printer.” After a few moments, your printer should be installed and ready for printing. You can also set up your printer on Linux, or, if you’re an Apple user, you can add your network printer to your Mac.

You’ll also be able to print to it using your iOS or Android device.

DIY Wireless Printing with a Raspberry Pi

It doesn’t matter which side of the inkjet vs. laser printer debate you’re on – a Raspberry Pi can bring any kind of printer into the modern era with wireless support. You can even use it to upgrade a new, cheaper USB-only printer and save some money.

Thanks to CUPS, setting up a Raspberry Pi wireless print server this way is easy to do. Let us know your own experiences in the comments below.

Image Credit: Raspberry Pi Logo via Wikimedia

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Ben Stockton

Ben is a UK based tech writer with a passion for gadgets, gaming, and general geekiness.