Edouard.ai
Back to blogSécurité Technique

Build Your Own SeedSigner: The Complete DIY Tutorial for an Open Source Hardware Wallet

February 3, 2026
21 min read
154 views

Build Your Own SeedSigner: The Complete DIY Tutorial for an Open Source Hardware Wallet


Table of Contents

  1. Introduction
  2. What Is a SeedSigner?
  3. Materials List
  4. SD Card Preparation
  5. Physical Assembly
  6. First Use
  7. Using with Sparrow Wallet
  8. Security Best Practices
  9. FAQ and Troubleshooting
  10. Comparison Table: SeedSigner vs Commercial Hardware Wallets
  11. Conclusion and Recommendations
  12. Internal Links
  13. Sources and Resources

Suggested URL: /security/seedsigner-diy-complete-tutorial-open-source-hardware-wallet

Category: Technical Security Tutorials

Summary: Comprehensive guide to assembling and using a SeedSigner, the DIY air-gapped hardware wallet that delivers maximum security for under 50 EUR, with zero dependency on a commercial supply chain.


Introduction

Build your own hardware wallet for 50 EUR and eliminate all supply chain dependency

In an ecosystem where every commercial hardware wallet represents a point of trust in a manufacturer, a logistics chain, and proprietary code, the SeedSigner emerges as a radical alternative: a Bitcoin signing device you assemble yourself, where every component can be verified and the source code is fully auditable.

The concept is simple but powerful: take standard computing components, available from multiple vendors, and transform them into an air-gapped signing device capable of managing your Bitcoin keys securely. For under 50 EUR, you get a level of security comparable to -- or even exceeding -- devices sold for several hundred euros.

But the SeedSigner is not a conventional hardware wallet. It is a pure signing device: it generates seeds, displays QR codes, and signs transactions, but it stores nothing permanently. Each use requires reimporting your seed phrase. This apparent limitation becomes a strength: if the device is seized or compromised, it contains no sensitive information.

This tutorial will guide you step by step through the complete assembly of a SeedSigner, from purchasing the components to signing your first transaction. No special technical skills are required -- just patience and attention to detail.


1. What Is a SeedSigner?

Discover the stateless device that never stores any key permanently

1.1 A DIY air-gapped hardware wallet

The SeedSigner is an open source project created by cypherpunks determined to eliminate all dependency on commercial hardware wallet manufacturers. The concept rests on three pillars:

Air-gapped by design: The SeedSigner has no connectivity whatsoever -- no WiFi, no Bluetooth, no USB port used for data. All communication is done via QR codes scanned by a built-in camera, making any data exfiltration over the network impossible.

Stateless: Unlike a Ledger or a Coldcard that store your seed in a secure chip, the SeedSigner retains nothing in permanent memory. When you power it off, everything vanishes. Your seed phrase must be reimported at each use -- which eliminates the risk that a seized device could reveal your keys.

Fully open source: The SeedSigner code is available on GitHub, auditable by anyone. The hardware components are off-the-shelf consumer products whose specifications are public. Nothing is proprietary, nothing is opaque.

1.2 Advantages and philosophy

Advantage Explanation
No supply chain Components come from multiple generic suppliers, not a single manufacturer that could be compromised
Verifiable Every line of code can be audited, unlike proprietary firmwares
Minimal cost ~40-50 EUR vs 150-300 EUR for commercial alternatives
Bitcoin-only Design optimized for a single mission, reducing the attack surface
Easy destruction If needed, the device can be destroyed or wiped without loss (the seed is stored elsewhere)

1.3 Limitations and considerations

The SeedSigner has limitations that must be understood before getting started:

No permanent storage: This is a security strength but a usage constraint. You must have access to your seed phrase (engraved on metal or written on paper) at every use.

Bitcoin only: The SeedSigner handles only Bitcoin. No Ethereum, no other altcoins. This is a deliberate choice that simplifies the code and strengthens security.

User responsibility: You alone are responsible for the quality of the assembly, the firmware verification, and the security of your seed. No customer support, no commercial warranty.

Small screen: The interface runs on a 1.3" screen, which may be uncomfortable for some users. Navigation uses a joystick and three buttons.


2. Materials List

Gather the generic components needed for under 50 EUR

2.1 Essential components

To build your SeedSigner, you will need the following components:

Component Specification Estimated Price
Raspberry Pi Zero 1.3 Version 1.3 WITHOUT WiFi (not the Zero W or Zero 2 W) 15-20 EUR
Waveshare 1.3" LCD Screen 240x240 pixels, SPI interface, Raspberry Pi compatible 12-18 EUR
Camera module Raspberry Pi Camera Module v1 or v2 (or compatible) 8-15 EUR
MicroSD card 8 GB minimum (16 GB recommended) 5-8 EUR
Camera ribbon cable Flex ribbon for Raspberry Pi Zero (shorter than the standard one) 2-3 EUR

Estimated total: 42-64 EUR

2.2 Optional components

Component Purpose Price
3D printed case Protection and ergonomics (STL files available on GitHub) 10-20 EUR (printing service)
LiPo battery + charge module Portable use without a power source 10-15 EUR
Micro-USB cable For power supply only 3-5 EUR

2.3 Critical points of attention

WARNING: It is imperative to use a Raspberry Pi Zero version 1.3 without WiFi. The Zero W, Zero 2 W, or any model with wireless connectivity must be avoided entirely. The presence of WiFi/Bluetooth would compromise the air-gapped nature of the device.

How to identify the correct model?

  • Raspberry Pi Zero 1.3: no visible antenna, "v1.3" marking on the board
  • To avoid: Zero W (visible metal antenna), Zero 2 W (newer, with antenna)

Sourcing:

  • Kubii (France): Official Raspberry Pi distributor
  • The Pi Hut (UK): Large stock, European shipping
  • Amazon: Carefully verify the exact model
  • AliExpress: Cheaper components but longer delivery times

3. SD Card Preparation

Download and verify the open source firmware before flashing

3.1 Download the official image

The SeedSigner firmware image is available from the official GitHub repository:

https://github.com/SeedSigner/seedsigner/releases

Download the .img file corresponding to the latest stable release. At the time of writing, the latest version is 0.8.x.

The repository also contains:

  • The GPG signature file (.sig)
  • The developers' public key
  • SHA256 hashes for verification

3.2 Verify the firmware authenticity

This step is crucial -- it guarantees that the firmware has not been tampered with.

Step 1: Import the developers' GPG key

gpg --keyserver keyserver.ubuntu.com --recv-keys [PUBLIC_KEY]

You will find the key identifier on the project's GitHub page.

Step 2: Verify the signature

gpg --verify seedsigner_[version].img.sig seedsigner_[version].img

The result must display "Good signature" and match the identity of the known developers.

Step 3: Verify the SHA256 hash

sha256sum seedsigner_[version].img

Compare the result with the hash published on GitHub. They must be identical.

WARNING: If the verification fails, do not flash the image. Re-download it from an official source and start over.

3.3 Flash the SD card

Several tools can be used to write the image to the MicroSD card:

Option A: Balena Etcher (recommended for beginners)

  1. Download Balena Etcher from balena.io/etcher
  2. Insert the MicroSD card into your computer
  3. Select the downloaded .img file
  4. Select the SD card as the target
  5. Click "Flash" and wait for completion

Option B: Command line (Linux/macOS)

# Identify the device (be careful not to wipe the wrong disk!)
sudo fdisk -l   # Linux
diskutil list   # macOS

# Flash the image (replace /dev/sdX with your device)
sudo dd if=seedsigner_[version].img of=/dev/sdX bs=4M status=progress
sudo sync

WARNING: The dd command can irreversibly erase your data if you select the wrong device. Triple-check before executing.

3.4 Alternative: Compile from source

For advanced users, compiling the firmware from source provides an additional guarantee:

git clone https://github.com/SeedSigner/seedsigner.git
cd seedsigner
# Follow the compilation instructions in the README

This method allows you to verify exactly what will be running on your device.


4. Physical Assembly

Connect the screen and camera with precision to avoid any short circuit

4.1 Connection overview

The SeedSigner consists of three main elements connected to the Raspberry Pi Zero:

  1. The LCD screen (connected to the GPIO header)
  2. The camera (connected to the CSI port)
  3. The SD card (inserted into the dedicated slot)

4.2 Screen connection

The Waveshare 1.3" screen connects directly to the GPIO pins of the Raspberry Pi Zero.

Procedure:

  1. Identify the pins: The screen must be positioned so that its pins align with the Pi's GPIO, starting from the corner where GPIO pin 1 is located (marked on the board).

  2. Align carefully: Without forcing, position the screen so that all pins enter the corresponding holes.

  3. Press down gradually: Push gently but firmly until the screen is securely in place. The pins must be fully inserted.

WARNING: Incorrect alignment can damage the components or create a short circuit. If insertion meets abnormal resistance, check the alignment.

4.3 Camera connection

The camera module connects via a flexible ribbon cable to the CSI port of the Raspberry Pi Zero.

Procedure:

  1. Open the connector: The Pi Zero's CSI port has a small plastic latch. Lift it gently with a fingernail or a thin tool.

  2. Insert the ribbon: The conductive side (metal contacts) must face the board. Insert the ribbon all the way into the connector.

  3. Lock it: Close the latch by pressing it down. The ribbon must be firmly held in place.

  4. Camera side: Repeat the procedure to connect the other end of the ribbon to the camera module.

Verification: The ribbon must not be twisted or bent at a sharp angle. A poorly made connection will manifest as the camera not being detected at boot.

4.4 SD card insertion

  1. The image must have been flashed beforehand
  2. Insert the card into the MicroSD slot of the Pi Zero (the slot is on the edge opposite the GPIO)
  3. The card should "click" slightly into position

4.5 Pre-power verification checklist

Before connecting the power supply, verify:

Checkpoint Verification
Screen All pins are inserted, no pin sticking out
Camera Ribbon firmly seated on both sides, latch closed
SD card Fully inserted into the slot
Visual inspection No displaced components, no loose wires

4.6 Case (optional)

STL files for 3D printing are available on the project's GitHub. You can:

  • Print them yourself if you have access to a 3D printer
  • Use an online printing service (3D Hubs, Sculpteo, etc.)
  • Find a local fablab

The case protects the components and improves ergonomics during use.


5. First Use

Generate your seed with visual entropy or dice for maximum transparency

5.1 Initial boot

  1. Connect the power: Use a micro-USB cable connected to a power source (phone charger, power bank). The port used is the one labeled "PWR" (not "USB").

  2. Wait for boot: The screen first displays a logo, then the main menu after a few seconds of loading.

  3. Camera check: If the camera is not detected, an error message is displayed. Power off, check the ribbon connection, and restart.

5.2 Interface navigation

The SeedSigner uses a joystick and three buttons for navigation:

Control Function
Joystick Navigate up/down/left/right through menus
Button 1 Select / Confirm
Button 2 Back / Cancel
Button 3 Context options

5.3 Generating a new seed

The SeedSigner offers several methods to generate a seed phrase:

Method 1: Visual entropy (camera)

This is the SeedSigner's most original method. The device uses the camera to capture visual entropy (digital noise, light variations).

  1. Select "New Seed" from the menu
  2. Choose "Camera Entropy"
  3. Point the camera at a visually "chaotic" scene (foliage, clouds, textured surface)
  4. The device captures several images and extracts entropy from them
  5. A 12 or 24-word seed phrase is generated

Tip: To maximize entropy, move the device slightly during capture and aim at a scene with lots of detail.

Method 2: Dice rolls (recommended for purists)

This method is the most transparent: you generate the entropy yourself with physical dice.

  1. Select "New Seed" -> "Dice Entropy"
  2. Roll a 6-sided die and enter each result
  3. Repeat 50 times for a 12-word seed, or 99 times for 24 words
  4. The SeedSigner converts these rolls into a seed phrase

Why is this method excellent? You can independently verify the conversion using standard BIP-39 tools. No trust in the device's random number generator is required.

Method 3: Import an existing seed

If you already have a seed phrase (from another wallet or a backup):

  1. Select "Enter Seed"
  2. Type each word using the built-in keyboard
  3. Confirm after the 12th or 24th word

5.4 Backing up the seed phrase

Once the seed is generated, back it up immediately and permanently:

Medium Advantages Disadvantages
Metal plate Resistant to fire, water, time Cost (~30-50 EUR)
Paper Simple, immediate Vulnerable to fire, water, degradation
Cryptosteel capsule Maximum protection High price (~100 EUR+)

CRITICAL REMINDER: The SeedSigner stores nothing! When you power it off, the seed vanishes. If you lose your physical backup, your bitcoins are permanently lost.

5.5 Exporting the public key

To use the SeedSigner with a software wallet, you need to export your wallet information:

  1. After entering your seed, select "Export Xpub"
  2. Choose the format (Single Sig / Multisig)
  3. Choose the script type (Native SegWit recommended)
  4. A QR code is displayed on screen
  5. Scan this QR code with your software wallet (Sparrow, BlueWallet, etc.)

6. Using with Sparrow Wallet

Master the air-gapped QR code workflow for your transactions

6.1 Why Sparrow Wallet?

Sparrow Wallet is the ideal companion for the SeedSigner for several reasons:

  • Open source: Auditable code, no proprietary component
  • Native air-gapped support: Designed to work with QR codes
  • Full control: Connection to your own Bitcoin node is possible
  • Complete interface: Advanced UTXO management, coin control, labels

6.2 Initial setup

Step 1: Install Sparrow Wallet

Download Sparrow from sparrowwallet.com and verify the GPG signature.

Step 2: Create a new wallet in Sparrow

  1. File -> New Wallet
  2. Name your wallet
  3. Under "Keystores", select "Air-gapped Hardware Wallet"
  4. Choose "SeedSigner" from the list

Step 3: Scan the xpub QR code

  1. On the SeedSigner: enter your seed and export the xpub
  2. In Sparrow: click "Scan" and present the SeedSigner's QR code to your computer's webcam
  3. Your wallet information is imported

Step 4: Finalize

  1. Verify that the first displayed addresses match
  2. Apply the changes
  3. Your wallet is ready to receive funds

6.3 Receiving bitcoins

  1. In Sparrow, go to the "Receive" tab
  2. An address and QR code are displayed
  3. Optionally verify this address on the SeedSigner (for the extra cautious)
  4. Send funds to this address

6.4 Sending bitcoins (complete PSBT workflow)

This is where the SeedSigner demonstrates its full power. The workflow uses PSBTs (Partially Signed Bitcoin Transactions):

Step 1: Create the transaction in Sparrow

  1. "Send" tab
  2. Enter the destination address and amount
  3. Adjust the fees if needed
  4. Click "Create Transaction"

Step 2: Export to the SeedSigner

  1. In Sparrow, click "Show QR"
  2. An animated QR code is displayed (the data is too large for a single QR)
  3. On the SeedSigner: select "Scan QR" -> "Sign Transaction"
  4. Scan the animated QR code by holding the camera facing the screen

Step 3: Verify and sign

On the SeedSigner:

  1. Verify the destination address
  2. Verify the amount being sent
  3. Verify the fees
  4. Confirm the signature

A signed transaction QR code is displayed.

Step 4: Broadcast the transaction

  1. In Sparrow, click "Scan QR"
  2. Scan the QR code displayed on the SeedSigner
  3. Click "Broadcast Transaction"
  4. The transaction is sent to the Bitcoin network

The complete flow illustrated:

[Sparrow]              [SeedSigner]
    |                       |
    | 1. Create PSBT        |
    |                       |
    | 2. Animated QR ->     |
    |                       | 3. Verify
    |                       | 4. Sign
    |         <- Signed QR  |
    |                       |
    | 5. Broadcast          |
    |                       |

At no point do the private keys leave the SeedSigner. Only the signed transactions are exported.


7. Security Best Practices

Maintain the total isolation that gives this device its full value

7.1 Golden rule: never connect to the Internet

The SeedSigner is designed to operate in complete isolation:

  • Never WiFi: This is why we use the Pi Zero 1.3 (without WiFi)
  • Never USB data connection: The USB port is used for power only
  • Never OTA flashing: Updates are done by reflashing the SD card

7.2 Firmware updates

To update to a new version:

  1. Download the new image from GitHub
  2. Verify the GPG signature
  3. Flash a new SD card (or erase and reflash the existing one)
  4. Test with a test seed before real use

Tip: Keep an SD card with the previous version, in case a new version has bugs.

7.3 Storage and handling

Risk Mitigation
Physical theft The SeedSigner alone is useless (no seed stored)
Damage Protective case recommended
Firmware compromise Periodically reflash from a verified source
Defective parts Keep spare components (SD, Pi)

7.4 Periodic verification

Even if you do not use your SeedSigner often, test it regularly:

  1. Power on and verify functionality
  2. Import your seed and verify that a known address can be generated
  3. Test a signature on a transaction (you can cancel before broadcast)

8. FAQ and Troubleshooting

Solve common problems and clear your remaining doubts

Frequently asked questions

Q1: Can the SeedSigner be "hacked"?

The SeedSigner's security model relies on physical isolation (air-gap). Without a network connection and without key storage, the classic attack vectors are inoperative. The main risks are:

  • Compromised firmware -> Always verify GPG signatures
  • Supply chain -> Purchase components from multiple vendors
  • Physical compromise -> The SeedSigner stores nothing; a seizure reveals no keys

Q2: Can I use the SeedSigner for other cryptocurrencies?

No. The SeedSigner is Bitcoin-only by design. This specialization reduces code complexity and therefore the attack surface. For other assets, use dedicated solutions.

Q3: What happens if I lose my SeedSigner?

Nothing serious! Your seed phrase is stored elsewhere (metal plate, paper). You can:

  • Build a new SeedSigner with fresh components
  • Import your seed into another BIP-39 compatible hardware wallet
  • Restore in a software wallet (less secure)

Q4: Does the SeedSigner support passphrases (25th word)?

Yes. When importing the seed, you can add an optional passphrase. This generates a completely different wallet, adding an extra layer of protection.

Q5: Can I use the SeedSigner in a multisig setup?

Absolutely. The SeedSigner is an excellent candidate for a 2-of-3 multisig configuration, where it can serve as one of the signers alongside a Coldcard and a Trezor, for example. See our Multisig 2-of-3 Tutorial for details.

Common problems and solutions

Problem: The screen stays black at boot

Solutions:

  • Check the power supply (cable, adapter, PWR port)
  • Reseat the screen on the GPIO pins
  • Try a different power source (min. 5V 1A)
  • Verify that the SD card is correctly inserted and flashed

Problem: The camera is not detected

Solutions:

  • Check the ribbon connection (Pi side and camera side)
  • Make sure the connector latch is properly closed
  • The conductive side of the ribbon must face the board
  • Try with a different ribbon cable (fragile component)

Problem: QR codes won't scan

Solutions:

  • Ensure good lighting (no backlight)
  • Adjust the distance between the camera and the screen
  • Clean the camera lens
  • For animated QR codes, hold a steady position

Problem: Error when importing the seed

Solutions:

  • Check the exact spelling of the words (BIP-39 word list)
  • Watch out for similar words (e.g., "abandon" vs "about")
  • Count the number of words (12 or 24, no in-between)
  • Try the full keyboard if prediction does not find the word

Comparison Table: SeedSigner vs Commercial Hardware Wallets

Compare the SeedSigner to commercial solutions to inform your choice

Criterion SeedSigner Coldcard Ledger Trezor
Price ~50 EUR ~150 EUR ~80-150 EUR ~70-220 EUR
Open source 100% Partial No Partial
Supply chain Generic components Single manufacturer Single manufacturer Single manufacturer
Air-gapped Yes (native) Yes (option) No No
Seed storage No (stateless) Yes (secure element) Yes (secure element) Yes (on device)
Multi-crypto Bitcoin only Bitcoin only Multi Multi
Ease of use Medium Medium High High

Conclusion and Recommendations

DIY becomes self-evident when you want to depend on no manufacturer

The SeedSigner represents a radically different approach to Bitcoin security. By eliminating key storage and all connectivity, it provides security based on physical isolation rather than trust in a manufacturer.

Who is the SeedSigner suited for?

  • Users who want zero dependency on any supply chain
  • Technicians who want to understand and verify every component
  • Multisig configurations where it can serve as a complementary signer
  • Advanced users who accept the constraint of reimporting the seed

Key points to remember:

  1. Use only a Raspberry Pi Zero 1.3 without WiFi
  2. Always verify the GPG signature of the firmware
  3. Back up your seed on a durable medium (metal recommended)
  4. The SeedSigner stores nothing -- this is a strength, not a weakness
  5. Practice the PSBT workflow before using it with real funds

Internal Links

Continue your Bitcoin security learning with these complementary guides



Related Articles -- Technical Security

Sources and Resources

Official documentation

  • GitHub SeedSigner: github.com/SeedSigner/seedsigner
  • Documentation: seedsigner.com/docs
  • Case STL files: github.com/SeedSigner/seedsigner/tree/main/enclosures

Complementary resources

  • Sparrow Wallet: sparrowwallet.com/docs
  • BIP-39 Specification: github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
  • GPG Verification Guide: gnupg.org/documentation

Community

  • Twitter/X SeedSigner: @SeedSigner
  • Reddit: r/seedsigner
  • Telegram: Community support groups

Article written in December 2025. Component prices and availability may vary. Always verify information from official sources before purchasing or assembling.

Share:

Want to know more?

Discover all our articles and guides to master crypto.

View all articles