Bitcoin Forum
April 26, 2024, 09:33:23 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: i want to build hardware wallet from scratch.  (Read 203 times)
BtcMaxi2090 (OP)
Newbie
*
Offline Offline

Activity: 21
Merit: 8


View Profile
May 19, 2023, 11:00:01 AM
Merited by hugeblack (2), pooya87 (1)
 #1

I hope this message finds you well. I am currently embarking on a project to build my own hardware wallet, similar to popular devices like the Ledger.

Firstly, I'd like to know what components are necessary to build a functional hardware wallet. Apart from the obvious need for a secure microcontroller, I assume there are other essential parts like a display, buttons for user input, and a secure element for key storage. Could you please help me compile a list of the necessary components and their specifications? Additionally, if there are any specific brands or models that you recommend, I would greatly appreciate your insights.

Furthermore, I'm curious if there is any readily available source code or open-source projects that I can refer to while building my hardware wallet. It would be immensely helpful to have a solid foundation or reference implementation to ensure the security and functionality of my device. If you know of any existing projects, particularly ones resembling the Ledger's architecture, I would be grateful if you could share the relevant information.

I understand that building a hardware wallet involves complex considerations, particularly regarding security and firmware development. Therefore, any advice, best practices, or resources you can offer would be highly valuable to me. If you have any personal experiences with similar projects or if you know of any other forums or communities dedicated to hardware wallet development, please feel free to mention them as well.

Thank you very much for your time and assistance. I'm excited to dive into this project and look forward to your insights and suggestions.
1714124003
Hero Member
*
Offline Offline

Posts: 1714124003

View Profile Personal Message (Offline)

Ignore
1714124003
Reply with quote  #2

1714124003
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714124003
Hero Member
*
Offline Offline

Posts: 1714124003

View Profile Personal Message (Offline)

Ignore
1714124003
Reply with quote  #2

1714124003
Report to moderator
1714124003
Hero Member
*
Offline Offline

Posts: 1714124003

View Profile Personal Message (Offline)

Ignore
1714124003
Reply with quote  #2

1714124003
Report to moderator
apogio
Sr. Member
****
Offline Offline

Activity: 420
Merit: 944



View Profile WWW
May 19, 2023, 11:18:27 AM
Merited by pooya87 (2), hugeblack (2)
 #2

I hope this message finds you well. I am currently embarking on a project to build my own hardware wallet, similar to popular devices like the Ledger.

Firstly, I'd like to know what components are necessary to build a functional hardware wallet. Apart from the obvious need for a secure microcontroller, I assume there are other essential parts like a display, buttons for user input, and a secure element for key storage. Could you please help me compile a list of the necessary components and their specifications? Additionally, if there are any specific brands or models that you recommend, I would greatly appreciate your insights.

Furthermore, I'm curious if there is any readily available source code or open-source projects that I can refer to while building my hardware wallet. It would be immensely helpful to have a solid foundation or reference implementation to ensure the security and functionality of my device. If you know of any existing projects, particularly ones resembling the Ledger's architecture, I would be grateful if you could share the relevant information.

I understand that building a hardware wallet involves complex considerations, particularly regarding security and firmware development. Therefore, any advice, best practices, or resources you can offer would be highly valuable to me. If you have any personal experiences with similar projects or if you know of any other forums or communities dedicated to hardware wallet development, please feel free to mention them as well.

Thank you very much for your time and assistance. I'm excited to dive into this project and look forward to your insights and suggestions.

Hello! Actually Seedsigner have done this and you could get ideas. The have built both the hardware and the software. Check those links:
https://github.com/SeedSigner/seedsigner (for the code and software)
https://seedsigner.com/ (the website)

Even if you don't want to re-use their code, you could use it to develop your own's software, although there is nothing wrong with it.

Personally I have to say Seedsigner is a magnificent project!

For more custom solutions, I will let other people talk.

ABCbits
Legendary
*
Offline Offline

Activity: 2856
Merit: 7406


Crypto Swap Exchange


View Profile
May 19, 2023, 11:34:14 AM
Merited by pooya87 (2), vapourminer (1)
 #3

Furthermore, I'm curious if there is any readily available source code or open-source projects that I can refer to while building my hardware wallet. It would be immensely helpful to have a solid foundation or reference implementation to ensure the security and functionality of my device. If you know of any existing projects, particularly ones resembling the Ledger's architecture, I would be grateful if you could share the relevant information.

Not exactly from scratch, but Trezor[1] (and it's derivation such as BitBox02[2]) are also open source. You could even build your own Trezor device[3]. And FWIW, Ledger currently in various controversy such as it's possible to extract private key from their secure element[4].

[1] https://github.com/trezor/trezor-firmware
[2] https://github.com/digitalbitbox/bitbox02-firmware
[3] https://www.instructables.com/Making-My-Own-Trezor-Crypto-Hardware-Wallet/
[4] https://bitcointalk.org/index.php?topic=5452900.msg62263471#msg62263471

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
DaveF
Legendary
*
Offline Offline

Activity: 3458
Merit: 6235


Crypto Swap Exchange


View Profile WWW
May 19, 2023, 01:55:00 PM
Merited by pooya87 (2), vapourminer (1), hugeblack (1)
 #4

Coldcard has their entire hardware list and schematics online:
https://github.com/Coldcard/firmware/tree/master/hardware

You also have lnbits: https://lnbits.github.io/hardware-wallet/installer/ that will allow you to use some off the shelf hardware to create a wallet.

For the most part if you want to do it from scratch it's not a 1 person job. You would have to know programming to write the code, engineering to design the hardware, and then be able to assemble it which is an entirely different set of skills. Would be an interesting project, but well above what most people can do on their own.

-Dave



█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
ToujoursAuTopLeKhey
Newbie
*
Offline Offline

Activity: 4
Merit: 6


View Profile
May 19, 2023, 03:31:42 PM
 #5

Hey dave i'm intersting also to build hardware wallet but the github link you sent doesn't have enough information


i don't want to do that from scatrch, i just want to replicate a existant hardware wallet just to understand the engineering behind a hardware wallet and their secret and why not in future apply in some job for hardware wallet or wallet Smiley
DaveF
Legendary
*
Offline Offline

Activity: 3458
Merit: 6235


Crypto Swap Exchange


View Profile WWW
May 19, 2023, 06:22:38 PM
 #6

Hey dave i'm intersting also to build hardware wallet but the github link you sent doesn't have enough information


i don't want to do that from scatrch, i just want to replicate a existant hardware wallet just to understand the engineering behind a hardware wallet and their secret and why not in future apply in some job for hardware wallet or wallet Smiley


The coldcard with a list of parts and a schematic is probably about the best you are going to be able to find out there.
There are others but all of them the last time I checked gave about the same amount of info.

The other side is that the secure element of all of them to date requires a NDA so the best they can give is plug in this component and give it this data and magic happens.
https://tropicsquare.com/ is coming soon, but you still need to do the rest of the hardware around it.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
d3bt3
Jr. Member
*
Offline Offline

Activity: 51
Merit: 20


View Profile WWW
May 20, 2023, 01:12:34 PM
 #7

https://github.com/Blockstream/Jade/blob/master/diy/README.md

https://github.com/cryptoadvance/specter-diy


https://altquick.com/exchange/market/BitcoinTestnet
Cricktor
Hero Member
*****
Offline Offline

Activity: 742
Merit: 1072


Crypto Swap Exchange


View Profile
May 21, 2023, 10:59:55 PM
 #8

Passport from Foundation Devices is also open-source and open-hardware, have a look in their Github repo: https://github.com/Foundation-Devices

You should find schematics, parts and whatnot more.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
n0nce
Hero Member
*****
Offline Offline

Activity: 882
Merit: 5814


not your keys, not your coins!


View Profile WWW
May 21, 2023, 11:45:08 PM
Merited by hugeblack (4), BlackHatCoiner (4), ABCbits (3), pooya87 (2)
 #9

This topic would fit better in our 'Hardware Wallets' category.

Here it is explained how you can move your topic.

As others have mentioned, there are various commercial hardware wallets whose source is public and / or open (don't want to get into the details and differences right now). These are:


Furthermore, there is a whole list of DIY wallets which are based on off-the-shelf hardware, and are mostly open-source firmware projects for microcontroller dev kits such as the M5Stack.
You can find the whole list here: [LI​ST] Open Source Hardware Wallets



No offense please, but since you are asking basic questions, such as which 'essential parts like a display and buttons' you need, I get the impression that it would be best for you to start by building / setting up one of those DIY options and then begin tweaking some aspects (in software or hardware) here and there instead of 'starting from scratch'.
That should give you the understanding and experience you need to build your own device. Or you may end up being really happy with a (maybe just slightly modified) existing device.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bettercrypto
Sr. Member
****
Offline Offline

Activity: 1316
Merit: 268


★Bitvest.io★ Play Plinko or Invest!


View Profile WWW
May 22, 2023, 01:05:28 AM
 #10

It's not easy to make it happen, because building a hardware wallet requires an idea or understanding about cryptography, electronics and security. Today, one of the examples that is open source is the Trezor wallet and Ledger, although there is now an issue here because of the service they offer.

        Now, if you are really determined you should start checking the information about Ledger or Trezor, and once you have these resources you can start to build your own hardware wallet. Of course, what you will need in this matter is that you will need to buy the right one for it, second you need to install firmware, and you will try your hardware wallet or test it.

Guidelines to build your own Hardware wallet



BIG WINNER!
[15.00000000 BTC]


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████
▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░▄███
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████
██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░
▀██░▄▄▄▄░████▄▄██▄░░░░
▄████████████▀▀▀▀▀▀▀██▄
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄
▀██░████████░███████░█▀
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████
▀████████████████████▀




Rainbot
Daily Quests
Faucet
Flexystar
Full Member
***
Offline Offline

Activity: 1092
Merit: 227



View Profile
May 22, 2023, 02:47:17 PM
 #11

Coldcard has their entire hardware list and schematics online:
https://github.com/Coldcard/firmware/tree/master/hardware

You also have lnbits: https://lnbits.github.io/hardware-wallet/installer/ that will allow you to use some off the shelf hardware to create a wallet.

For the most part if you want to do it from scratch it's not a 1 person job. You would have to know programming to write the code, engineering to design the hardware, and then be able to assemble it which is an entirely different set of skills. Would be an interesting project, but well above what most people can do on their own.

-Dave

It is intriguing that how open sources are working these days. It has literal blue prints on it and there should be no problem in building the entire hardware wallet with it.

I have seen that there are DIY (Do it yourself ) site with complete guideline about almost everything that you could imagine. These site Will also lead you towards the hardware and software parts required and where you could purchase them.

Most of the programmable boards are already available on the market. All you have to do is plug and play everything. Good luck for your project, hope to see your from the scratch hardware wallet soon. 
BlackHatCoiner
Legendary
*
Online Online

Activity: 1498
Merit: 7291


Farewell, Leo


View Profile
May 22, 2023, 06:51:30 PM
Merited by n0nce (1)
 #12

Check my review for SeedSigner that is mentioned above: https://bitcointalk.org/index.php?topic=5400742.0.

It's probably the most secure option you'll find, along with ColdCard and Passport. It's not considered hardware wallet, but signing device, because it's airgapped in comparison with hardware wallets. My only concern is that it's less reviewed than the latter. Do your search.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
n0nce
Hero Member
*****
Offline Offline

Activity: 882
Merit: 5814


not your keys, not your coins!


View Profile WWW
May 23, 2023, 07:36:10 AM
 #13

Coldcard has their entire hardware list and schematics online:
https://github.com/Coldcard/firmware/tree/master/hardware

You also have lnbits: https://lnbits.github.io/hardware-wallet/installer/ that will allow you to use some off the shelf hardware to create a wallet.

For the most part if you want to do it from scratch it's not a 1 person job. You would have to know programming to write the code, engineering to design the hardware, and then be able to assemble it which is an entirely different set of skills. Would be an interesting project, but well above what most people can do on their own.

-Dave
It is intriguing that how open sources are working these days. It has literal blue prints on it and there should be no problem in building the entire hardware wallet with it.
If you cared to check your sources, the wallet you quoted - ColdCard - does not have 'literal blueprints' in their 'Open Verifiable Source Code' GitHub repository.
On the hardware side, it only contains the (pretty basic) schematics as PDF. 'Literal blue prints' should also contain the EDA source files.

Such as:
https://github.com/trezor/trezor-hardware/tree/master/electronics/trezor_one/kicad
https://github.com/Foundation-Devices/passport2-hardware/tree/main/electronics/PCB

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!