Skip to content

gitgeoff/rpi-check-in-printer

 
 

Repository files navigation

Raspberry Pi as a Check-Ins Printer Station

This document outlines the steps I use to set up a Raspberry Pi as a Check-in Printer Station. That is, a "computer" that connects to a Dymo printer and accepts print jobs from Planning Center Check-Ins running on a tablet, phone, or another computer.

This repo also includes a script that modifies the Pi and installs software.

iPad and Dymo Printer

Why?

Dymo printers are cheap, but I haven't found a way to connect them directly to an iPad. Since our church uses iPads for check-in, we like to print labels from them without a bulky, expensive PC/Mac sitting in the middle of it.

The Raspberry Pi is an inexpensive alternative to a full computer, but it does take a bit more work to get it all set up correctly.

How it Works

We install the Planning Center Check-Ins app on the Raspberry Pi and set it to start automatically when the Pi boots up. We also install other necessary software and connect the printer with Cups.

Once everything is set up, all your Check-Ins stations can see the Pi as another station and print to it, even though it has no display or keyboard.

iPad and Raspberry Pi and Dymo Printer

Of course, you can hide the Raspberry Pi away under a table or whatever.

What You'll Need

  1. A Planning Center Check-Ins subscription

  2. An iPad or other tablet to run Check-Ins app

  3. A Raspberry Pi 4 with at least 2 GB of RAM.

    This will not work on an older Raspberry Pi.

  4. A Dymo printer

    I have only tested with the Dymo LabelWriter 450 and 450 Turbo.

    Other Dymo printers should work out of the box, but I haven't tested any others.

    Further: A printer made by another brand (not Dymo) could probably be made to work with this setup, assuming there is a Linux print driver for it. There is not any Dymo-specific software used, but the setup script only knows how to install Dymo printers. You would need to set up the printer manually or tweak the script.

The General Process

I put together a video showing generally how everything is installed. Be sure to follow the detailed instructions below when doing these steps yourself.

Video demonstrating setup of the Raspberry Pi software

The Steps

  1. On a desktop computer, download the Raspberry Pi Imager tool here.

  2. Run the imager. Click "Choose OS" and select "Raspberry Pi OS 32 Bit".

  3. Click "Choose Storage" and select your SD card (insert it now if you haven't already).

  4. Click the gear icon for Advanced Options. Click the checkbox for "Enable SSH". Leave the option for "Use Password Authentication" selected. Scroll to the next section and enter a new password for the default user pi. Don't change the name of the user or parts of the setup script will fail.

  5. Check the option for "Configure Wireless LAN" assuming you're not plugging into a wired ethernet. If you'd like, you can also change other advanced options such as the default host name from raspberrypi to something more specific (like "checkinprinter"). You'll use this name to access the Raspberry Pi in later steps, but also in the future if you need to update or fix anything on the pi.

  6. Now click "Write" - writing the image may take a few minutes. When done, move the SD card to the Raspberry Pi and power it on.

  7. SSH to the Pi using the new password you set above. Be sure to substitute the hostname if you changed from the default.

    Enter the new password you picked in Advanced Options

  8. Enable VNC using raspi-confi

    sudo raspi-config

    Use the arrow keys to select Interfacing Options and press Enter.

    Use the arrow keys to select VNC and press Enter.

    You will be prompted to enable VNC Server.

  9. Download and run the setup script.

    Note: You should still be connected to the Pi. This command will run remotely on the Pi itself.

    curl https://raw.githubusercontent.com/seven1m/rpi-check-in-printer/latest/setup.sh -o setup.sh
    chmod +x setup.sh
    ./setup.sh
  10. Assuming you made it through the setup process and you were able to print a test label, you can continue to the next step.

    DO NOT CONTINUE until you can get a test label to print using the setup script above.

  11. Use VNC from your desktop to connect to the Pi.

    Download and run RealVNC.

    Connect to "raspberrypi.local" (substitute the host name if you changed that)

    The VNC password is the one you set earlier.

  12. Set up the Planning Center Check-Ins Software.

    You should see Planning Center Check-Ins asking you to set up a new station.

    Go through the process to create a new station. Give it a name, and accept the defaults for everything else.

    For the station name, I use something like "Welcome Center RPi" so I know where it is and what type of station it is.

  13. You should see this dialog window:

    qz prompt

    Be sure to select "Remember this decision" and click the "Allow" button.

  14. Point your iPad or other station to the Raspberry Pi:

    Visit the stations page in Check-Ins and click to open the settings for your iPad station.

    In the "Print Station" drop-down, choose your Raspberry Pi station you just created.

  15. Do a test check-in!

Troubleshooting

DO NOT CONTACT PLANNING CENTER SUPPORT ABOUT ISSUES WITH THIS SETUP. THEY WILL NOT BE ABLE TO HELP YOU.

Problem: Printing doesn't work!

Here are some troubleshooting steps, starting closest to the hardware:

  1. Make sure the setup script was able to print a test label. If not, you may need to figure out why the command echo "test" | lpr -P "Dymo" - isn't working.

  2. Check that the Dymo printer is setup via Cups at https://IPADDRESS:631. Print a test page from this UI.

  3. Use VNC to connect to the Pi and visit the Print Setup page in the Check-Ins app. You can get there by pressing Ctrl-2.

Problem: Labels print slow and/or cut-off

Sometimes, labels will print extremely slow and pause mid-way through printing a label.

I have found that some Dymo printers do not work well with my dymo_lag_fix.rb script. It's not an issue with a particular model, but rather seems to be a random problem. My solution is to swap printers around (often times even the same exact model number) and everything starts working as expected!

About

Set up a Raspberry Pi as a Planning Center Check-ins Printer Station for Dymo label printers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 78.8%
  • Ruby 21.2%