Hardware Wallets · Lesson 49

How to Build Your Own Hardware Wallet with SeedSigner: The Ultimate DIY Project

Bitcoin.diy Editorial
·

How to Build Your Own Hardware Wallet with SeedSigner

This is the article Bitcoin.diy was made for.

You're going to build a bitcoin signing device from scratch. Real hardware. Open-source software. No company holding your keys, no proprietary firmware you can't inspect, no trust required.

SeedSigner turns a $50–80 pile of off-the-shelf components into an air-gapped transaction signer that never connects to the internet. It communicates entirely through QR codes, stores nothing when powered off, and runs software you can verify line by line.

SeedSigner v0.8.x (the current release series as of early 2026) adds Taproot support, improved Sparrow Wallet integration, and compatibility with Specter Desktop, making it more capable than ever as a signing device in a multisig setup.

If the idea of building your own hardware wallet sounds intimidating, don't worry. If you can assemble LEGO, you can build a SeedSigner. The hardest part is waiting for the parts to arrive.

Disclosure: This guide contains affiliate links. If you buy components through our links, we earn a small commission at no extra cost to you. We only recommend products we'd use ourselves. See our full affiliate disclosure.

Why Build a SeedSigner?

Before you order parts, understand what makes SeedSigner different from a Ledger, Trezor, or Coldcard.

The Pros

  • Truly open-source. Hardware and software. No proprietary chips, no closed firmware. Everything is auditable.
  • Air-gapped by design. No USB data connection, no Bluetooth, no WiFi (or you can physically disable it). Communication happens only through QR codes displayed on screen and scanned by the camera.
  • Stateless. SeedSigner stores nothing. When you unplug it, all data is wiped from memory. Your seed phrase lives in your physical backup, not on the device.
  • Cheap. Total cost is $50 to $80 depending on where you source parts and whether you add a case. Compare that to $150+ for commercial hardware wallets.
  • No supply chain attack surface. You buy generic components from multiple vendors. Nobody knows you're building a bitcoin wallet.
  • Taproot support. v0.8.x added full Taproot signing capability, keeping SeedSigner current with modern Bitcoin features.
  • Supports multisig. Works beautifully with Sparrow Wallet and Specter Desktop for multi-signature setups.

The Cons

Be honest with yourself about these:

  • No built-in secure element. Commercial wallets like Coldcard have dedicated security chips. SeedSigner relies on being stateless instead. Different security model, not necessarily worse, but different.
  • You are the quality control. If you solder a pin wrong or flash the wrong firmware, that's on you.
  • Not beginner-friendly for daily use. Loading your seed phrase every time you want to sign a transaction adds friction. This is a feature for security, but an annoyance for convenience.
  • No customer support. Community forums and GitHub issues are your help desk.
  • Physical durability. A 3D-printed case with a Raspberry Pi inside is not as rugged as a machined-metal Coldcard.

Our take: SeedSigner is ideal as a signing device in a multisig setup, or as a dedicated seed generation and signing tool. It's less convenient as your only everyday wallet. If you're brand new to self-custody, consider starting with a commercial hardware wallet and adding SeedSigner to your setup as you level up.

What You'll Need: Complete Parts List

Here's every component required. Total cost runs $50 to $80 depending on the vendor, camera module choice, and whether you add a case.

Required Components

ComponentSpecsApprox. Cost
Raspberry Pi Zero 2WARM Cortex-A53 quad-core, 512MB RAM$15–20
Waveshare 1.3" LCD HAT240×240 pixel, ST7789 driver$12–16
Camera ModuleOV5647 (standard) or IMX519 (better quality)$8–18
MicroSD Card8GB minimum, 32GB recommended$6–10
Micro-USB Power CableAny standard micro-USB cable$3–5

On the Raspberry Pi Zero 2W: This is the recommended board for all new builds. The Pi Zero 2W has a quad-core ARM Cortex-A53 processor versus the single-core in the original Pi Zero W, making QR code scanning and menu navigation noticeably faster. If you want the most paranoid option and can find one, the older Pi Zero v1.3 (no wireless at all) works — but the 2W is easier to source and significantly faster.

On the camera module: You have two good options.

  • OV5647 (standard): The original SeedSigner-compatible camera. Works well, widely available, costs $8–12. All builds listed as "SeedSigner compatible" on Amazon and AliExpress typically ship this sensor. Must use the Zero-compatible short ribbon cable (not the full-size Pi ribbon).
  • IMX519 (recommended for new builds): Higher-resolution sensor (16MP vs 5MP), better low-light performance, and noticeably faster QR code scanning. Costs $15–18. Look for the Arducam IMX519 module with the correct Zero-compatible cable. SeedSigner v0.8.x added full IMX519 support.

On the LCD HAT: The Waveshare 1.3" HAT must be the 240×240 pixel version (model number WSH-LCD1.3). Waveshare sells several similar-looking displays with different resolutions and drivers that won't work. Double-check before buying.

👉 [Get the complete SeedSigner component kit](/go/seedsigner-kit) — all required parts in one order, verified compatible.

ComponentWhyApprox. Cost
3D-Printed CaseProtection and better ergonomics$10–20
GPIO Hammer HeaderSkip soldering entirely$6–8
M2.5 Screws + SpacersFor case assembly (6mm, 12mm screws; 10mm spacers)$4–6

About the GPIO pins: The Raspberry Pi Zero 2W ships without header pins soldered to the board. You have three options:

  1. Buy a version with pre-soldered headers. Easiest path. Slightly more expensive (~$5 premium).
  2. Use a GPIO hammer header. No soldering required. You literally hammer the pins in. It works surprisingly well.
  3. Solder them yourself. If you own a soldering iron and know how to use it, this takes about 10 minutes.

If you've never soldered before, go with option 1 or 2. This project is fun. Burning yourself with a soldering iron is not.

About WiFi and the Pi Zero 2W

The Raspberry Pi Zero 2W has WiFi and Bluetooth built in. That sounds like a problem for a security-focused device, and it's a fair concern.

Here's why it's okay: SeedSigner's software never enables WiFi or Bluetooth. The radios are off by default. But if you want extra peace of mind:

  • Software disable: Already handled by SeedSigner's OS image — the radios are disabled at the OS level.
  • Hardware disable: Physically remove or RF-shield the antenna. Permanent and irreversible, but an option for the most paranoid builds.
  • Use a Pi Zero v1.3: No wireless hardware at all. Harder to find and slower, but the most air-gap-pure option.

For most people, the software disable in the SeedSigner image is sufficient. The device never connects to a network. Period.

Step 1: Download and Verify the Software

Do this first while you wait for parts to arrive. Verification matters. You're going to trust this software with access to your bitcoin. Take the five extra minutes to confirm it's legitimate.

Download the Firmware Image

  1. Go to the SeedSigner GitHub releases page.
  2. Download the image file for your hardware. For the Raspberry Pi Zero 2W, grab `seedsigner_os.pi02w.img` (the exact filename includes the version number, e.g., seedsigner_os.0.8.x.pi02w.img).
  3. Also download the SHA256 manifest file and the signature file (.sig).

Save all three files to the same folder.

Current release series: v0.8.x. Check the releases page for the latest patch version.

Verify the Download (GPG Method)

This confirms two things: the file came from the SeedSigner developers, and it hasn't been modified.

On Linux or macOS:

On Windows (using Git Bash or WSL):

The same commands work in Git Bash or Windows Subsystem for Linux. If you don't have either, install Gpg4win and use its command-line tools.

What to look for:

  • The GPG verify step should say "Good signature".
  • The shasum check should say "OK" next to your image filename.

If either check fails, do not use that file. Re-download from GitHub and try again.

Alternative: Verify with Sparrow Wallet

If you already use Sparrow Wallet (version 1.8.3 or later), there's a built-in verification tool:

  1. Open Sparrow Wallet.
  2. Go to Tools > Verify Download.
  3. Select the .sig signature file.
  4. Select the .sha256.txt manifest file.
  5. Sparrow will automatically find the image file if it's in the same folder.

Green checkmarks mean you're good to go.

Step 2: Flash the MicroSD Card

Now write the verified image to your microSD card.

  1. Download and install Raspberry Pi Imager (free, works on Windows, macOS, Linux).
  2. Insert your microSD card into your computer.
  3. Open Raspberry Pi Imager.
  4. Click "Choose OS" then scroll to the bottom and select "Use custom".
  5. Navigate to the SeedSigner .img file you downloaded and verified.
  6. Click "Choose Storage" and select your microSD card.
  7. Click "Write". This takes a minute or two.

Do not enable any Raspberry Pi Imager customization options (like setting a hostname or enabling SSH). SeedSigner's image is pre-configured — any additional customization can break the setup.

Once the write finishes, eject the microSD card. Don't insert it into the Pi yet.

Step 3: Assemble the Hardware

Total assembly time: 10 to 20 minutes.

3a: Attach the GPIO Header (If Needed)

If your Raspberry Pi Zero 2W doesn't have pre-soldered headers:

  • Hammer header: Align the header pins with the GPIO holes on the Pi. Place the Pi on a flat, hard surface. Use the included tool to tap each pin into place. Go slowly. Check alignment after every few taps.
  • Soldering: Secure the header in place with tape, flip the board over, and solder each pin. Clean joints should look like small shiny cones.

3b: Connect the Camera Module

  1. Locate the camera connector on the Raspberry Pi Zero 2W. It's the small flat connector on the right side of the board (when the HDMI port faces you).
  2. Gently lift the black tab on the connector. It flips up — it doesn't come off entirely.
  3. Slide the ribbon cable in with the gold contacts facing down (toward the board). The cable should sit flat and centered.
  4. Press the black tab back down to lock the cable in place.

Be gentle. The connector and ribbon cable are fragile. If it doesn't seem to fit, you're probably using the wrong size cable. You need the Zero-compatible narrow ribbon (about 11mm wide), not the full-size Pi camera cable (about 22mm wide).

IMX519 note: The Arducam IMX519 module is slightly thicker than the OV5647. This matters for 3D-printed case compatibility — check your case design supports the larger module before printing.

3c: Attach the LCD HAT

The Waveshare 1.3" LCD HAT connects directly to the GPIO header pins.

  1. Align the HAT's female header with the GPIO pins on the Pi.
  2. Press down firmly and evenly until the HAT is fully seated. You'll feel it click into place.
  3. The HAT should sit flush and level over the Pi board.

That's it. The display, joystick, and buttons are all on the HAT.

3d: Install in Case (Optional)

If you have a 3D-printed case:

  1. Place the camera module in the designated slot.
  2. Secure the Pi + HAT assembly with M2.5 screws and spacers.
  3. Close the case.

STL files for various SeedSigner enclosures are available on the SeedSigner GitHub and community sites like Printables and Thingiverse. If you don't have a 3D printer, online services like JLCPCB or Craftcloud will print and ship a case for $10 to $20.

Step 4: First Boot

  1. Insert the flashed microSD card into the Pi Zero's card slot.
  2. Connect the micro-USB power cable. Use the port labeled "PWR" (not "USB").
  3. Wait about 45 seconds. The screen will display the SeedSigner splash logo, then the main menu.

If the screen stays dark:

  • Check that the LCD HAT is fully seated on the GPIO pins.
  • Confirm you flashed the correct image for the Pi Zero 2W (pi02w).
  • Try a different micro-USB cable. Some cables are charge-only and don't supply enough power cleanly.
  • If using the IMX519 camera, verify you downloaded a v0.8.x image — earlier versions don't support that sensor.

Step 5: Generate or Load a Seed Phrase

SeedSigner is now running. Here's what you can do with it.

Generating a New Seed Phrase

SeedSigner can generate a new seed phrase using multiple entropy sources:

  1. From the main menu, select "Seeds" then "Create a Seed".
  2. Choose your method:
  • Camera (recommended): Take a photo. SeedSigner uses the visual noise in the image as a source of randomness. Excellent entropy, especially with the higher-resolution IMX519.
  • Dice rolls: Roll physical dice and enter each result. You need 50 rolls for a 12-word phrase or 99 rolls for 24 words.
  1. Choose 12 or 24 words. For serious bitcoin storage, 24 words is recommended.
  2. SeedSigner displays your new seed phrase. Write it down on paper or stamp it into metal. Never store it digitally. Never photograph it.

Loading an Existing Seed Phrase

  1. Select "Seeds" then "Scan a SeedQR" or "Enter 12/24 Words".
  2. SeedQR is a QR code representation of your seed phrase. Scanning it is much faster than entering words manually.
  3. Manual entry: Use the joystick and buttons to enter each word. Slow but reliable.

Understanding Stateless Operation

When you unplug SeedSigner, your seed phrase is gone. Completely erased from memory. There is no internal storage.

Every time you power on and want to sign a transaction, you'll re-enter or re-scan your seed phrase. This sounds annoying, and honestly it is a bit. But it's the entire security model. A device that stores nothing can't be hacked for its contents.

Your seed phrase backup (paper or metal) is your wallet. SeedSigner is just the tool that uses it temporarily.

Step 6: Pair with Sparrow Wallet

SeedSigner is a signing device. It doesn't connect to the Bitcoin network on its own. You need coordinator software — Sparrow Wallet is the best option, with native SeedSigner support built in.

  1. In Sparrow Wallet: Create a new wallet or go to Settings on an existing one.
  2. Select "Connected Hardware Wallet" then "SeedSigner".
  3. On SeedSigner: Load your seed phrase, then go to "Export Xpub". A QR code will appear on screen.
  4. In Sparrow: Click "Scan" and point your computer's webcam at SeedSigner's display.
  5. Sparrow imports the public key information (xpub). This lets Sparrow generate receive addresses and build transactions, but it cannot spend without SeedSigner's approval.

Signing a Transaction

When you want to send bitcoin:

  1. Build the transaction in Sparrow Wallet.
  2. Sparrow displays a QR code (the unsigned PSBT — Partially Signed Bitcoin Transaction).
  3. On SeedSigner, select "Scan" and point the camera at your computer screen.
  4. SeedSigner shows you the transaction details. Verify the destination address and amount on the SeedSigner screen — not on your computer.
  5. Approve the transaction. SeedSigner displays a signed QR code.
  6. Scan that QR code with Sparrow's webcam.
  7. Sparrow broadcasts the signed transaction to the Bitcoin network.

No cables. No USB connections. Everything travels via QR codes. That's air-gapped signing.

Using SeedSigner with Specter Desktop

SeedSigner also works with Specter Desktop, another popular coordinator:

  1. In Specter Desktop, add a new device and choose "Other" or "SeedSigner."
  2. Export the xpub from SeedSigner using the same process above.
  3. For signing, Specter generates a PSBT QR code — scan it with SeedSigner, sign, and scan the result back.

The workflow is nearly identical to Sparrow. Both applications support SeedSigner's air-gapped QR communication natively.

Total Cost Breakdown

ItemBudget OptionMid-Range
Raspberry Pi Zero 2W$15$20
Waveshare 1.3" LCD HAT$12$16
Camera Module (OV5647)$8
Camera Module (IMX519)$18
MicroSD Card (32GB)$6$8
Case + Screws$0 (no case)$15
Power Cable$3$5
**Total****~$44****~$82**

Compare that to a Ledger Nano S Plus at $79, a Trezor Model One at $69, or a Coldcard Mk4 at $150+. SeedSigner delivers full transparency and verifiability at similar or lower cost.

👉 [Order all components together](/go/seedsigner-kit) to save time and ensure compatibility.

Tips for Your Build

Test before you case it. Run SeedSigner with all components connected but outside the case first. Confirm the screen works, the camera scans QR codes, and all buttons respond. It's much easier to troubleshoot with everything accessible.

Choose your camera intentionally. If you're doing a new build in 2026, the IMX519 is worth the extra $5–8. Faster QR scanning makes the daily workflow noticeably smoother.

Make a SeedQR backup. Once you've generated or loaded a seed phrase, SeedSigner can encode it as a compact QR code (called SeedQR). Write this QR pattern onto paper or etch it into metal. Scanning a QR is much faster than entering 24 words every time you use the device.

Label your microSD card. If you have multiple Pis or projects, a small label prevents flashing the wrong card.

Keep the firmware updated. Check the SeedSigner GitHub releases periodically. Always verify new downloads before flashing.

Build two. If you're setting up a multisig wallet (which you should consider for serious amounts of bitcoin), you'll need multiple signing devices. Building two SeedSigners at $50–80 each is far cheaper than buying multiple commercial hardware wallets at $100+ each.

Frequently Asked Questions

Is SeedSigner safe to use with real bitcoin?

Yes. SeedSigner is used by thousands of bitcoiners worldwide, its code is open-source and publicly audited, and the stateless design means there's nothing persistent to hack on the device itself. Your security depends on how well you protect your seed phrase backup. Check our self-custody guide for best practices.

Which camera module should I buy: OV5647 or IMX519?

For new builds in 2026, the IMX519 is recommended. It's faster, scans QR codes more reliably in lower light, and the higher resolution improves the camera-based entropy generation. The OV5647 is perfectly functional and cheaper — it'll work fine if budget is tight. Make sure either module comes with the short, narrow Zero-compatible ribbon cable.

Do I need to know how to solder?

No. Buy a Raspberry Pi Zero 2W with pre-soldered headers, or use a GPIO hammer header. Both options require zero soldering. The rest of the assembly is plug-and-press.

Can I use a Raspberry Pi Zero W (not 2W)?

Yes, the original Pi Zero W works but is noticeably slower. The Pi Zero 2W has a quad-core processor, so menu navigation and QR scanning are much more responsive. The Pi Zero v1.3 (no wireless) also works and is the most air-gap-pure option, but it's harder to find and slower than the 2W.

How is this different from a Ledger or Trezor?

Three main differences. First, SeedSigner is fully open-source (hardware and software), while Ledger's firmware is partially closed-source. Second, SeedSigner is stateless and stores nothing, while commercial wallets store your keys on a secure element chip. Third, SeedSigner communicates only via QR codes (air-gapped), while most commercial wallets use USB connections. Neither approach is objectively "better" — they represent different security philosophies.

What if my SeedSigner breaks?

Nothing is lost. SeedSigner stores nothing. Your bitcoin is secured by your seed phrase, not by the device. If the device breaks, build another one (or use any BIP-39 compatible wallet) and restore from your seed phrase backup. This is actually an advantage over commercial wallets where losing the device feels more risky than it should.

Does SeedSigner support Taproot?

Yes. SeedSigner v0.8.x added full Taproot signing support. If you're using a Taproot address format (bc1p...) in Sparrow or Specter, SeedSigner handles the signing correctly.

Can I use SeedSigner for multisig?

Absolutely — this is where SeedSigner shines. In a multisig setup (for example, 2-of-3), you need multiple signing devices. Building two or three SeedSigners at $50–80 each is far cheaper than buying multiple commercial hardware wallets. Both Sparrow Wallet and Specter Desktop support multisig coordination with SeedSigner out of the box.

Does SeedSigner work with Specter Desktop?

Yes. SeedSigner works with both Sparrow Wallet and Specter Desktop. The workflow is the same: export xpub via QR, import into Specter, sign PSBTs by scanning QR codes in both directions.

What's Next?

You've just built a bitcoin signing device from off-the-shelf parts and open-source software. No company can push a firmware update you didn't approve. No supply chain attack can compromise a device you assembled yourself. No server stores your keys.

That's sovereignty.

Here's where to go from here:

  • [Explore more hardware wallets](/wallets/) to compare options and find the right setup for your security needs.
  • [Learn about self-custody](/learn/self-custody-guide/) to understand the full picture of securing your bitcoin.
  • [Understand your seed phrase](/learn/seed-phrase-explained/) because that 24-word backup is the single most important thing protecting your bitcoin.

Welcome to DIY bitcoin security. This is what we're here for.

Related Articles