Understand and master the principles of privacy protection when using Bitcoin
1. Required equipment
- Raspberry Pi Zero
- Version 1.3 is recommended, as it has neither Wi-Fi nor Bluetooth, ensuring complete isolation.
- The W and v2 versions are also compatible, but incorporate a Wi-Fi/Bluetooth chip. It is therefore advisable to physically deactivate it by removing the radio module from the card. The operation is relatively simple, but requires precision (fine pliers are sufficient for the Zero W, while a hot pen is needed for the v2 to remove the metal plate that hides the module). I won't go into the details in this tutorial, but you'll find all the instructions in this document: Disabling WiFi/Bluetooth by hardware.
- Please note: some Raspberry Pi Zero models are sold without pre-soldered GPIO pins. You can either buy a version with integrated pins directly (simplest solution), or buy the pins separately and solder them yourself (more complex solution).
- Don't forget to include a micro-USB power supply.
- Waveshare 1.3" screen (240×240 px)** (in French)
- It's essential to choose this particular model: other similar screens exist, but with a different resolution. Without 240×240 px definition, the display will be unusable.
- The screen features three buttons and a mini-joystick for user interface.
- Raspberry Pi Zero**-compatible camera
- Option 1: the standard camera with a wide gold mat (check compatibility with your housing).
- Option 2: the more compact "Zero" camera, designed specifically for the Pi Zero.
-
MicroSD** card
- Recommended capacity: between 4 and 32 GB.
-
Housing (optional but recommended)** (optional but recommended)** (optional but recommended)** (optional but recommended)**)
- Protects the device and makes it easy to use.
- The most popular model is the "Orange Pill Case", for which open-source STL files are available for 3D printing.
- Boxes are also available from independent resellers linked to the project.
2. Preparing the software
2.1. Download
- The
.imgimage corresponding to your Pi model. - The
.sha256.txtfile. - The
.sha256.txt.sigfile.
2.2 Verification under Linux and macOS
gpg --fetch-keys https://keybase.io/seedsigner/pgp_keys.asc
0.8.6.):gpg --verify seedsigner.0.8.6.sha256.txt.sig
Good signature. This means that the file .sha256.txt has been signed by the key you have just imported, and that the signature is valid. Ignore the warning message WARNING: This key is not certified with a trusted signature: this is normal, as it's now up to you to check that the key used belongs to the SeedSigner project.0.8.6.):shasum -a 256 --ignore-missing --check seedsigner.0.8.6.sha256.txt
- Under Linux, this command is built-in.
- Warning: macOS versions prior to
Big Sur (11)do not recognize the--ignore-missingoption. In this case, remove it and ignore warnings about missing files.
OK next to the .img file. This confirms that the uploaded image is identical to the one published by the project and has not been modified.2.3 Windows verification
https://keybase.io/seedsigner/pgp_keys.asc
Shift + right-click > Open PowerShell here). Run the following command to check the manifest signature (remember to modify the command according to your version, here 0.8.6.):gpg --verify seedsigner.0.8.6.sha256.txt.sig
Good signature. This means that the file .sha256.txt has been signed by the key you have just imported, and that the signature is valid. Ignore the warning message WARNING: This key is not certified with a trusted signature: this is normal, as it's now up to you to check that the key used belongs to the SeedSigner project.CertUtil -hashfile seedsigner_os.0.8.6.[your-Pi-model].img SHA256
0.8.6.):CertUtil -hashfile seedsigner_os.0.8.6.pi02w.img SHA256
seedsigner.0.8.6.sha256.txt.- If the two values are strictly identical, the check is successful and you can continue.
- If they differ, the file is corrupted or corrupted. Don't use it, and start the download again.
.img file is both authentic (signed by SeedSigner) and unaltered (unmodified). You can then safely move on to the next step.2.4. Flash the image
- Insert the microSD card into your computer.
- Launch Etcher.
- Select the downloaded and verified
.imgfile. - Select microSD card as target.
- Click on
Flash!.
3. SeedSigner assembly
3.1 Preparing the housing
- Camera location (small circular hole at front).
- The opening for the screen.
- The cut-outs for the Raspberry Pi Zero's micro-USB ports and microSD slot.
3.2 Camera installation
3.3 Installing the Raspberry Pi Zero
3.4 First start-up
Settings > I/O test menu.KEY1 button to check that the camera is working as expected. This will take a picture.3.5 Camera adjustment
Settings > Advanced > Camera rotation and select a 180° rotation if necessary.Settings > Persistent settings menu, then select Enabled.4. SeedSigner settings
4.1 Parameter menu access
Settings option, then validate by pressing the central button. You now enter the main settings menu.4.2 Choosing wallet management software
Coordinator software menu.Coordinator refers to the wallet management software with which your SeedSigner will communicate via QR codes. This software is installed either on your computer or on your smartphone. It will enable you to manage your bitcoins, but without ever having access to your private keys. The SeedSigner remains the only device capable of signing your transactions.4.3 Units and amount display
Denomination Display menu, you can choose the unit in which the amounts are displayed:BTC- mBTC` (milli-bitcoin, or 0.001 BTC)
- gW-15 (satoshis, or 1/100,000,000 BTC)
4.4 Advanced settings
Advanced menu. Here you will find several useful options:- gW-17 network`: to be modified only if you wish to use the SeedSigner on Testnet.
- qR code density`: adjusts the amount of information contained in each QR code. You can leave the default value, unless you find it difficult to read when scanning.
Xpub export: enables or disables the export of your extended public key (xpub,ypub,zpub) to wallet management software via QR code (a function we'll be using later, so leave it enabled for now).Script types: defines the script types allowed to lock your bitcoins. You don't need to modify this parameter, as the script type will be set directly to Sparrow. Here, only scripts that the SeedSigner is authorized to manipulate are concerned.
4.5 Language selection
Language menu, you can change the interface language to suit your preference.5. Creating and saving seed
- This phrase gives full, unrestricted access to all your bitcoins.** Anyone in possession of this phrase can steal your funds, even without physical access to your SeedSigner ;
- Usually, a 12-word phrase is used to restore a wallet in the event of loss or theft of wallet hardware. But since the SeedSigner is a stateless device, it never registers your seed. So your physical backups are not simply backup copies, but the only way to use your wallet. If you lose these backups, your bitcoins will be permanently lost. So back them up carefully, on several media and in safe places;
- If you're just starting out, I strongly advise you to read this tutorial for a detailed understanding of the risks involved in managing a mnemonic phrase :
5.1 Accessing the seed creation tool
Tools menu.- camera": seed is generated from the visual noise of a photograph. You take an image of a random environment (object, landscape, face, etc.) whose pixel variations are used to generate entropy. It's a fast method, but not reproducible.
- dice Rolls": you roll dice to create the necessary entropy. It's more time-consuming, but reproducible and therefore verifiable. If you opt for this method, follow the advice in this tutorial (no need to calculate the checksum here, the SeedSigner takes care of that):
5.2 Creating the seed with the photo
New seed (with the camera icon), take a picture and validate. Then select the length of your sentence (12 or 24 words), which will appear on the screen for saving. The following steps are identical to part 5.3.5.3 Creating seed with dice
New seed (with the dice icon).5.4 Displaying and saving the seed
5.5 Checking the backup
Verify.Backup Verified.5.6 Understanding the concept of "stateless device
5.7 Write master key fingerprint
5.8 Saving the seed in QR format (SeedQR)
Backup Seed.Export as SeedQR.Begin to start creating the SeedQR. The SeedSigner will then display a series of grids (A1, A2, B1, etc.), each corresponding to a portion of the code.- Start with a pencil so that you can correct any mistakes, then go back to using a fine black pen once you've finished;
- A well-centered point in the middle of the square is all you need, no need to fill it completely.
Confirm SeedQR, and scan your QR code to check that it's working correctly.Success is displayed, your SeedQR is valid: you can proceed to the next step.6. Import wallet into Sparrow
6.1 Preparing the SeedSigner
Scan, then scan your SeedQR with the SeedSigner.d4149b27. If you're back at the home screen, select Seeds, then choose the print corresponding to your wallet. Then click on Export Xpub.Single Sig.Taproot. I therefore advise you to select this standard.xpub) allows you to view all the addresses derived from your seed (on the first account). It doesn't allow you to spend your funds, but it does reveal the structure of your wallet. If it ever leaks, it's a problem for your privacy, but not for the security of your bitcoins: it allows you to see them, but not to spend them.I Understand, then Export Xpub if you are satisfied with the information displayed.6.2 Importing a new wallet into Sparrow Wallet
File → Import Wallet.SeedSigner, then select Scan.... Your webcam will open: scan the dynamic QR code displayed on your SeedSigner screen.Create Wallet. Sparrow will then ask you to set a password to lock local access to this wallet. Choose a strong password: it protects access to your wallet data in Sparrow (public keys, addresses, labels and transaction history). This password is not needed to restore the wallet at a later date: only your mnemonic phrase (and possibly your passphrase) is required for this purpose.Master fingerprint displayed in Sparrow matches the one previously noted in your SeedSigner.7. Receiving and sending bitcoins
7.1 Receiving bitcoins
7.1.1 Generating a reception address
Receive.- The text address (starting with
bc1p...if you use P2TR like I do), - The corresponding QR code,
- A
Labelfield for tracking your transactions.
Label field, then confirm.Label : Sale of the Raspberry Pi Zero
7.1.2 Address verification on the SeedSigner
Scan. Scan the QR code displayed on your computer screen, then choose the seed corresponding to your wallet (in my case, the d4149b27 fingerprint).Address Verified.7.1.3 Receipt of funds
Transactions tab of Sparrow Wallet.7.2 Send bitcoins
- Transaction creation in Sparrow ;
- Signature of the transaction on the SeedSigner ;
- Final distribution of the transaction via Sparrow.
7.2.1 Creating the transaction in Sparrow
Send tab in the left-hand sidebar. However, I prefer to use the UTXOs tab, which allows you to practice "Coin Control". This method gives you precise control over the UTXOs used, so you can control the information you reveal during the transaction.UTXOs tab, select the coins you wish to spend, then click Send Selected.- In
Pay to, paste the recipient's address or click on the camera icon to scan the QR code; - In
Label, add a label to track this expense; - In
Amount, enter the amount to be sent; - Finally, select the fee rate based on current market conditions (estimates are available at mempool.space).
Create Transaction >>.Finalize Transaction for Signing.Show QR.7.2.2 Signing the transaction with the SeedSigner
Scan, then scan the QR code displayed on Sparrow.- The amount sent,
- Output addresses,
- Associated transaction costs.
Review Details and carefully check all the information directly on the SeedSigner screen. The most important items to check are the amount sent, the recipient's address and the amount of charges applied.Approve PSBT to sign the transaction using the corresponding private key(s).7.2.3 Broadcasting the transaction from Sparrow
QR Scan.Transactions tab of Sparrow Wallet.Author
This tutorial has been written by Loïc Morel
You can say thanks by tipping the professor.
I write educational content about Bitcoin.
Credits
This tutorial has not been proofread yet
The original content has been translated by AI, but human review is necessary to ensure its accuracy.
7 610 sats3 805 sats1 903 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.








