Begin by preparing a copy of the Raspberry Pi Lite operating system (https://www.raspberrypi.org/software/operating-systems/) on a MicroSD card. Their Raspberry Pi Imager tool makes this easy.

SeedSigner installation and configuration requires an internet connection on the device to download the necessary libraries and code. But because the Pi Zero 1.3 does not have onboard wifi, you have two options:

  1. Run these steps on a separate Raspberry Pi 2/3/4 or Zero W which can connect to the internet and then transfer the SD card to the Pi Zero 1.3 when complete.
  2. OR configure the Pi Zero 1.3 directly by relaying through your computer’s internet connection over USB. See instructions here.

Connect a keyboard & monitor to the device or SSH into the Pi if you’re familiar with that process.

Configure the Pi

On the Pi bring up its system config:

sudo raspi-config

Set the following:

  • Interface Options:
    • Camera: enable
    • SPI: enable
  • Localisation Options:
    • Locale: arrow up and down through the list and select or deselect languages with the spacebar.
      • en_US.UTF-8 UTF-8 for US English
  • WiFi settings (only necessary for the option #1 setup above)

Exit and reboot when prompted within the raspi-config interface.

Install these dependencies:

sudo apt-get update && sudo apt-get install -y wiringpi python3-pip python3-numpy python-pil libopenjp2-7 ttf-mscorefonts-installer git python3-opencv libzbar0 python3-picamera

Install the C library for Broadcom BCM 2835:

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz
cd bcm2835-1.60/
sudo ./configure
sudo make && sudo make check && sudo make install
cd ..
rm bcm2835-1.60.tar.gz

Download SeedSigner

git clone https://github.com/SeedSigner/seedsigner

Install python dependencies:

cd seedsigner
pip3 install -r requirements.txt

Modify the systemd to run SeedSigner at boot:

sudo nano /etc/systemd/system/seedsigner.service

Add the following contents to the file:

[Unit]
Description=Seedsigner

[Service]
User=pi
WorkingDirectory=/home/pi/seedsigner/src/
ExecStart=/usr/bin/python3 main.py
Restart=always

[Install]
WantedBy=multi-user.target

Use Control + O, then [enter], to write the file. Then use Control + X, to exit the program.

Run
sudo systemctl enable seedsigner.service
to enable service on boot. (This will restart the seedsigner code automatically at startup and if it crashes.) (Optional) Modify the system swap configuration to disable virtual memory:
sudo nano /etc/dphys-swapfile
Change
CONF_SWAPSIZE=100 to CONF_SWAPSIZE=0

Use Control + O, then [enter], to write the file. Then use Control + X, to exit the program.

If you completed these steps on a separate Pi (option #1), shut down the pi with sudo shutdown --poweroff now and then transfer the SD card to the Pi Zero 1.3 (note: the LCD Hat will also run fine on a Raspberry Pi 2/3/4 or Zero W; just remember to disable networking if you want to run the software in isolation).

OR if you’re working directly on the Pi Zero 1.3 (option #2), just reboot it:

sudo reboot

It will take about a minute after the Pi is powered on for the GUI to launch — be patient!

Reminder: If you used option #2, return the guide to remove the internet access over USB configuration.