seedsigner open pill complete

On this post we will be building a SeedSigner an off line, air-gapped bitcoin transaction signing device with off the shelf components for around $50. Price will vary depending on where you get the parts and when as currently prices for everything are just rising like crazy.

Parts requirements and prices:

  • Raspberry Pi Zero version 1.3: $12.75
  • Raspberry Pi camera module: $8.93
  • Waveshare 240×240 1.3 inch IPS LCD display HAT: $16.55
  • 4GB micro SD card (I used one that was laying around 16GB)
  • 2×20 pin raspberry Pi Zero GPIO: approx $7.44 for a 10 pieces package
  • Open pill case: $5 from a friend that printed it for me, you could also get one @ BTCwares.com
  • Grand Total: $50.67

All of the parts that listed above I got on Ebay.

This build will be a two part first we will start with the software and following that we will do the hardware.

Software Install

The first thing we need is to download and write the latest version of SeedSigner system at the time of my build this was 0.4.4, below we will have this process detailed.

  1. Go to SeedSigner Github and download the current latest release ie. seedsigner_X_X_X,img.zip.
seedsigner github
Download from seedsigner github page.

After the image has been downloaded it needs to be burned into the SD card using an app like Raspberry Pi Imager or Balena Etcher in this case we will be using Raspberry Pi Imager when it comes to operating system installations for the Pi this is my go to.

2. Open Imager and click on CHOOSE OS button

pi imager
Raspberry Pi Imager, select CHOOSE OS.

3. On the operating system popup scroll to the bottom and select USE CUSTOM.

select operating system
Scroll to the bottom and select USE CUSTOM.

4. A new window will popup on this window you need to navigate to the location where you downloaded the file and select it.

select downloaded seedsigner image
Navigate to and select the SeedSigner image you just downloaded.

5. Once selected you will return to the imager window and will need to select the sd card that you would like to install seedsigner onto. Please ensure you select the correct storage as any data on it will be deleted.

select storage
Select storage device to write the image to.
confirm storage device selection
Just to double check confirm the storage device selection.

6. Once the storage has been selected and confirmed select WRITE and let Imager write the image to the SD and verify the install, after this is completed you can eject the SD card and you are ready to go software wise.

writing file to sd
Wait for the file to write to SD
image verify
Let Imager verify the write

Hardware Build two parts

seed signer all parts
Parts for hardware build

Software/Hardware test build:

The first thing will do to avoid any unknowns is to do an assembly and test run in order to test all components prior to installation in the open pill.

  1. First thing I did was to ensure that the camera module has the correct ribboncable installed for the RPi zero, in my case the module came with two cables one for the RPi 4 (preinstalled) and one for the RPi 0 in the box, the RPi 0 cable is the thinner of the two and and it has a golden color.
camera module with RPi 4 cable
Camera Module with Raspberry Pi 4 ribbon cable.
camera module with RPi 0 cable
Camera Module with Raspberry Pi Zero ribbon cable.

2. Next I connected the camera module ribbon cable to the Pi, to do this first you need to release the lock bar in the pi camera connector to do this just pull back with your fingers even on both ends this should not take a lot of pressure.

pi0 with connector bar open
Pi with connector lock bar released.

3. Next connect the camera module ribbon cable to the Pi, to do this insert the cable into the pi (ensure the contacts on the cable are facing the board and not the connector), once orientation is correct insert the cable into the connector and push the lock bar back in.

camera cable contacts facing board
Camera module cable contacts facing board.
camera cable inserted and locked
Camera cable inserted in Pi and locked with the bar.

4. Next install the LCD hat onto the Pi, to do this align the pins on the Pi with the connector on the LCD hat and press firmly on either side of the screen with your thumbs evenly, for this test you do not need to push the hat all the way down onto the pins.

lcd hat and Pi
LCD HAT and Pi.
pi and hat assembled for test
Pi and HAT assembled for first time run.

5. Now that we have all the pieces snapped together is time to install the SD card that we have previously installed the SeedSigner software and connect power, once power is connected if all went well the system will boot up please be patient and allow up to 45 seconds.

  • When the system is live scroll down to Settings using the joystick on the left and select it pressing down.
  • Once inside the settings menu select Input/Output Tests, once you have reached the Input/Output Test section verify the functionality of all the buttons by cycling thru all of the positions including the camera functionality by scanning a QR code this QR does not need to be bitcoin address any QR code will do. The SeedSigner software will provide feedback by highlighting in orange the positions you have selected, for the camera once a QR code has been scanned the text will change from “Scan ANY QR code” to “QR scanned”
  • Once you have completed this checks and all works as it should press the exit button to go back in the menu.
test build with power connected
SeedSigner assembled outside of box for testing prior to final assembly.
scroll to settings
Scroll to settings using the joystick button and select pressing down on it.
input/outpust test menu selection
Select Input/Output Tests from the menu.
input/output actual test
Once in the Input/Output test check all buttons functionality and the camera.
power off menu
Navigate back in the menu and select Power Off.
power off confirm
Confirm Power off selection and allow the system to fully shutdown (15-30 seconds)

6. This concludes our test software/hardware assembly, now we need to disassemble it all in order to start to build in the open pill case, 1. disconnect the camera cable from the Pi, 2. remove the LCD hat, 3. remove the SD card.

Final assembly using open pill case:

Now that we have that the components and the software work good we will be assembling the final product using the open pill case, components fit tightly in this case having to remove them due to something not working correctly after assembly may cause some damage due to the amount of force it will take to get them removed this is the reason we did a try run.

1. We will need the open pill case and the camera module to start our final build with.

You will need to insert the camera module under the tabs on one of the sides and once in place push on the opposite side to snap the module in place, please pay particular attention to ensure the cable is towards the cutout for the SD card, once the camera module is firmly in place and prior to continue assembly turn the case around and verify that the camera lens is properly aligned with the case.

insert camera module into open pill
Insert the camera module under the tabs on one side and push down on the other side to snap in place.
camera lens aligment
Verify proper camera lens aliment.

2. Next we will need the pi zero to have the camera cable connected to it. As before release the lock bar on the pi if not already done insert the cable with the contacts facing the board and lock the tab.

seedsigner camera to pi connection
Connect the cable from the camera to the pi same was as when we assembled it for testing.

3. We now need to insert the Pi into the case this is the portion that needs more attention on the assembly process to ensure cable for the camera is not kinked to avoid issues after assembly has been completed, we also need to properly align the Pi ports.

  • Flip the Pi around from the position we had it before so that the pins are now on the up side and line up the pi with the end of the open pill case and ensure the cable looks like below and there are not tight looks on the cable.
  • Next lower the Pi down and angle down the ports side in order to slide the Pi under the locking tabs and align the ports at the same time.
  • Once in this position verify the aliment of the ports and that the cable is not kinked, the extra cable at the end is normal and that will be stored under the display hat.
  • After verification of the ports aliment and the cable is good go ahead and snap the other side of the Pi into the locking tabs it should take some force and you should hear positive feedback sound once it snaps.
seedsigner camera cable loop with pi
Flip the Pi around being careful to leave wide loops on the cable for the camera.
seedsigner Pi install in open box
Pi installation in open pill case pay attention to cable loop and angle to insert ports and pi under tabs.
seedsigner pi port aliment
Verify Pi port proper aliment prior to locking in place.
seedsigner snap Pi in place
Once proper port placement has been verified snap the other side of the Pi it will take some force.
verify pi locked in place
Verify Pi proper locked under the four tabs prior to proceeding with the assembly.

4. With the Pi securely in place we need to install the last piece of hardware to finalize our SeedSigner.

  • Align the display HAT connector with the Pi pins.
  • Once verified press the HAT on each side of the screen in order to have the pins properly inserted on the HAT connector, there are two large tabs for supporting the HAT on the other side of the pins you can see those on the picture above.
line up display hat with pi pins
Align Pi pins with display HAT connector.
seedsigner lcd hat install
Press down on either side of the screen on the pin side to properly insert pins onto HAT connector.

5. With all of the above completed lets go ahead and insert the SD card power the device and do another operational check like we did before.

seedsigner open pill complete
Once SeedSigner has started scroll to Settings.
seedsigner build and ops
As previously cycle thru all the the input/output options and verify functionality.

Congratulations we made it to the end we now have a fully functional SeedSigner device and for around $50 (at the time of writing) we have a secure device to manage our bitcoin transactions.

If you would like to learn more about SeedSigner you can visit the project website https://seedsigner.com, this guide is based on a SeedSigner video you can find at https://www.youtube.com/watch?v=gXPFJygZobE.

This can also be built using the Orange Pill case but at the time of writing I am have some issues locating some of the hardware for the build once I am able to get my hands on the spacers I will try and build a guide to assemble the SeedSigner using the Orange Pill case. See image of printed case parts below.

orange pill case
Orange Pill case.