How to Make a Raspberry Pi-Powered Print Server
Make your wired printer wireless with a Raspberry Pi
Even an ancient laser or inkjet printer is probably good enough for most people, but if yours lacks Wi-Fi, using it can be a pain the butt. However, it’s easy enough to turn a Raspberry Pi into a wireless print server that will allow you to print to your wired printer from any computer on your network. Here’s how to make a Raspberry Pi print server.
What You Need to Make a Raspberry Pi Print Server
- Raspberry Pi with Wi-Fi. A Pi Zero W is best suited for this project but any Pi with WiFi can be used. We used a spare
- Raspberry Pi OS on an 8GB+ micro SD card. You may want to do a Raspberry Pi headless setup so you can perform this setup without a monitor, keyboard or mouse.
- A USB adapter to connect the Pi to the printer. If this is a Raspberry Pi Zero W, you’ll want a USB OTG (micro USB male to USB Type-A female) wire. , to connect the printer if using a Pi Zero W.
- A printer without network capabilities.
How to Set Up a Raspberry Pi Print Server
1. Open a terminal window on the Raspberry Pi or login via SSH.
2. Update the list of installable software.
sudo apt update
3. Install the Common Unix Print System (CUPS) software.
sudo apt install cups
4. Add the default user, pi to the group of users which can use printers.
sudo usermod -a -G lpadmin pi
5. Create a static IP address so that the Pi can always be located on the network.
sudo nano /etc/dhcpcd.conf
6. Add a static IP address and details of the router, and DNS server to the bottom of the file. These details will be different depending on how your router is configured. When complete press CTRL + X, Y and then Enter to save and exit.
interface wlan0
static ip_address=192.168.0.99/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
7. Configure CUPS so that it is accessible across the network.
sudo cupsctl --remote-any
8. Setup SSH remote access to the Pi if it’s not setup already. You do this by launching raspi-config (sudo raspi-config), enabling SSH under Intefacing Options->SSH, exiting and rebooting.
10. Navigate to the IP address of the Pi followed by :631 on another computer’s browser. In our example the IP address is 192.168.0.99.
192.168.0.99:631
You’ll see the CUPS web interface and from here we can administrate the printer server.
11. Click on the Administration tab and on the next screen click Add Printer.
12. Upgrade CUPs if you get an “Upgrade Requried” warning, followed by a link to download.
13. Select Advanced then Proceed if you receive a “Your connection is not private” warning.
14. Enter your user name and password, by default these are pi and raspberry.
15. Click on the radio button next to the name of your printer.
16. Select the model of your printer and then click Add Printer. Typically the first value returned should be correct.
17. Check the configuration of the printer before clicking on Set Default Options.
Go to Printers and then click on your printer. To open the configuration screen for that printer.
18. Click on Print Test Page, found in the Maintenance menu, to print a test page and to confirm that our printer is working properly.
Using the Raspberry Pi Print Server from a Windows device
Adding the printer to Windows 10 is really simple. Just make sure that your Windows device is on the same network as the print server.
1. From the Start Menu search for Printer, click on Printers & scanners.
2. Click on Add a printer or scanner
3. Click on the print server.
4. Click on Add Device and Windows will communicate with the print server.
5. Click on Manage to open the printer settings page.
6. Click on Print Test Page to test that Windows can successfully use the print server.