DIY Bitcoin Hardware

On this website you can find links to interesting DIY bitcoin and lightning-related projects. This includes hardware wallets, verification tools, POS terminals, full nodes, mining rigs and other stuff.

Please help us to fill this website! Open a pull request on github with DIY bitcoin or lightning project you find exciting.

Libraries

  • libwally - C library with wallet primitives by Blockstream (not so easy to run on embedded system)
    • a version that works with Arduino IDE and Mbed out of the box
  • secp256k1 - Optimized C library for elliptic curve operations on Bitcoin curve, by Bitcoin Core, used everywhere. The standard.
    • a version that works with Arduino IDE, Mbed and MicroPython out of the box
  • trezor-crypto - Trezor crypto library
  • mbed-tls - general purpose crypto library that includes elliptic curve crypto, hash functions and other stuff necessary for Bitcoin wallet, but doesn't have any bitcoin-specific things (like base58 encoding etc)
  • micro-bitcoin - C++ bitcoin library compatible with Arduino, Mbed and bare metal
  • modcryptocurrency - ColdCard's fork of modtrezorcrypto

Tutorials

Hardware wallets

Real hardware wallets

If you are not scared of soldering you can build any of existing open-source hardware wallets like Trezor or Coldcard. Building your own wallet reduces risks of supply chain attack and gives you all the benefits of a normal hardware wallet.

Trezor

ColdCard

DIY hardware wallets

DIY hardware wallets are not as secure as real ones, but they can be easily tuned for your needs and sometimes have very unique ux and security features.

Work In Progress

These wallets are still in development, so they may not have all the functionality planned by the authors yet, but it's worth to keep an eye on their progress.

  • Specter (MicroPython) - DIY airgapped hardware wallet that uses QR codes for communication with the host. Based on STM32F469I-DISCO developer board (video).
  • BitBoy (Micropython) - a hardware wallet based on M5Stack dev board (video). By @JustinMoon
  • Koopa (Arduino) - 15$ watch-only hardware wallet that uses E-Ink display to show your next receiving address. Makes sense to take with you if you plan to receive money to your cold storage while keeping your real hardware wallet safe. By @BTCSocialist
  • Bowser (Arduino) - M5Stack based hardware wallet hidden under Tetris game by @BTCSocialist. Youtube tutorial.
  • SeedSigner (Raspi, python) - DIY offline, airgapped Bitcoin signing device for less than $50. Includes custom support for Specter Desktop, BlueWallet, Sparrow.

Archive

Here we put links to interesting projects that look abandoned / discontinued, mostly for educational and curiosity reasons.

  • Hardware Bitcoin Wallet by someone42 - a 7 (!!!) years old repo, probably the very first hardware wallet ever
  • 8bkc-wally - a hardware wallet for PocketSprite using libwally library (by GreenAddress)
  • Simple hardware wallet (Arduino) - a hardware wallet based on Adafruit M0 board, includes web UI that talks to the wallet over WebUSB
  • M5stack hardware wallet (Arduino) - a minimal hardware wallet based on M5Stack that talks to your computer over Bluetooth Serial

Point of sale terminals

TBD

Price checkers

Vending machines

TBD - plz send us the links

Full nodes

TBD

Mining

  • The bitaxe - Open source bitcoin mining rig using bitmain BM1387 ASICs by @skot