Skip to content
Raspberry Pi, Dymo Turbo Writer 450 badge printing service that logs user information such as name and email and prints a name badge and QR code associated with that information.
Branch: master
Clone or download
Kyle-Falconer Merge pull request #13 from codeforsanjose/ychoy/issue_12_add_preferr…

Ychoy/issue #12 add preferred pronoun
Latest commit ff2c1b3 Mar 1, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
static update form options Aug 24, 2018
templates issue #10 : instead render template with passed config Oct 14, 2017
.gitignore Added log file support to help with debugging. Aug 10, 2018
LICENSE Adding a license - Copyright C4SJ Jun 26, 2016 Google sheets syncing for csv file Aug 9, 2018
civic.json Create civic.json Apr 15, 2016
client_secret.json.example Added log file support to help with debugging. Aug 10, 2018
logging.json Added log file support to help with debugging. Aug 10, 2018 Added log file support to help with debugging. Aug 10, 2018
requirements.txt Added missing requirements for Google Sheets API Aug 10, 2018 add pronoun to uploader Aug 21, 2018

Code For San Jose Login System

The Code For San Jose Login System prints out name tags which contain the guest's name and email address as a QR code, name in plain text, and the Code For San Jose Brigade logo. The guest information is recorded in a .csv file and automatically uploaded to Google sheets when the Sheets API is turned on.

creating a name tag


  • Raspberry Pi 2 or 3 running Raspbian in desktop mode.
  • DYMO LabelWriter 450 printer connected to the Raspberry Pi via USB.
  • Internet access for the Raspberry Pi.

The Bill of Materials provides the complete list of equipments, pricing, and links to recommended products.

**Bill of Materials (click to open)**

Item No. Description Quantity Price Link
1 Raspberry Pi 3 Model B 1 $38.31 Amazon link
2 Raspberry Pi 7" Touchscreen Display 1 $66.99 Amazon link
3 Power Adapter 1 $9.99 Amazon link
4 Keyboard 1 $14.99 Amazon link
5 Micro SD Card 1 $15.95 Amazon link
6 DYMO LabelWriter 450 1 $66.95 Amazon link
7 DYMO 2-1/4" x 4" labels (30857) 1 $10.00 Amazon link

Total Cost: $223.18

Setting up your Raspberry Pi as a name tag kiosk

Setting up your Raspberry Pi as a name tag kiosk involves two steps:

  1. Installing the login system
  2. Adding the DYMO LabelWriter 450 printer

Optional step:

  1. Uploading to Google sheets

Installing the login system

  1. Open a terminal and create a new folder called "GitHub". Run: mkdir ~/GitHub

    NOTE: Ensure that the folder name is "GitHub" since the folder name is referenced in the install script.

  2. Clone the git repository from GitHub. Run:

    cd ~/GitHub
    git clone
    cd CFSJ-Login-System/
  3. Run the install script: ./install/

The installation process may take several minutes to complete. The script installs all the dependencies required for the program including the driver for the DYMO LabelWriter 450 printer. The script also configures the Raspberry Pi to start Chromium automatically on startup.

Adding the DYMO LabelWriter 450 printer

  1. Open Chromium and browse to http://localhost:631/.
  2. Click the Administration tab at the top and click Add Printer under Printers.
  3. In the Authentication Required dialog box, enter pi as the user name and raspberry as the password.
  4. Click Log In.
  5. In the Add Printer page, select DYMO LabelWriter 450 (DYMO LabelWriter 450) and click Continue.
  6. Review the Name and Description and click Continue.
  7. Select DYMO LabelWriter 450 (en) from the Model list.
  8. Click Add Printer.
  9. In the Set Default Options for DYMO_LabelWriter_450 page, set the following:
    • Media size: 30857 Badge Label
    • Output Resolution: 300x600 DPI
    • Halftoning: Error Diffusion
    • Print Density: Normal
    • Print Quality: Barcodes and Graphics
  10. Click Set Default Options. You will be redirected to the Printers tab.
  11. Click the Administration drop-down and select Set As Server Default.
  12. Finally, close the browser and reboot the device.

After rebooting, the Raspberry Pi will automatically start Chromium in kiosk mode and display the login system.

Uploading to Google sheets

  1. Open Chromium and browse to
  2. Follow the instructions under "Step 1: Turn on the Google Sheets API" to create and download client_secret.json.
  3. Copy the file into the CFSJ-Login-System folder.

The copies the user name and email address of the guest from the .csv file into Google sheets. After a successful update, the .csv file is deleted. If the update fails, the user information is retained in the .csv file until a successful retry.

You can’t perform that action at this time.