Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 9 of 9

Thread: Bitcoin / Altcoin cold storage / hardware wallet on teensy 3.2

  1. #1
    Junior Member
    Join Date
    Aug 2017
    Posts
    5

    Bitcoin / Altcoin cold storage / hardware wallet on teensy 3.2

    I really want to make a hardware wallet with the teensy 3.2. I have over 15 years experience as a software engineer but that's mostly web development and android apps. I am fairly new (few years on and off) into low level hardware programming, and not a lot of experience with crypto algorithms and protocols even though I use them all the time. Seeing as I can't find any examples of hardware wallets for arduino/teensy, makes me think there are some technical limitations to the hardware that's preventing someone from already taking on this project. Ideally I would like something similar to the trezor or ledger with a 128x32 oled and a few buttons, where i can create a deterministic wallet and addresses (public/private key pairs), store encrypted private keys, and sign transactions. Trezor is open source and I could potentially port some of the code to the teensy library but the hardware it's programmed for is way different and it uses hardware encryption which isn't available on the teensy. As a workaround I was thinking software encryption on a micro sd card but can't find a lot of successful encryption examples for arduino/teensy either.

    So, given this information, I just wanted to ask those much smarter than myself if this is a feasible project to take on and what are the potential issues I may run into. I am fully willing to take this on if it's something that could be done in a month or two but I don't want to waste months just to find out I'm in over my head and will never be able to finish the project. Also, if I do take on this project, the end result will be an open source library that would be shared on github, not something I plan to mass produce and sell for profit.

  2. #2
    Senior Member
    Join Date
    Dec 2014
    Posts
    262
    I think the main problem is that you need a fair amount of storage to store all the private keys for a typical wallet.
    There is not enough EEPROM space to store this data.
    You may be able to re-use flash instead, using self-flashing of selected pages that you don't use for program/data.
    Check this thread for more hints: https://forum.pjrc.com/threads/25503...-use-flash-mem

  3. #3
    Junior Member
    Join Date
    Aug 2017
    Posts
    5
    Thanks for the response. I was considering using micro sd (https://www.pjrc.com/store/sd_adaptor.html) for storage so I don't think storage space would be an issue.

  4. #4
    Senior Member+ defragster's Avatar
    Join Date
    Feb 2015
    Posts
    9,767
    Not a direct solution - but a password wallet made around a Teensy 3.2 core. Encryption and hardware combined.
    OnlyKey - The Two-factor Authentication & Password Solution

  5. #5
    Senior Member Epyon's Avatar
    Join Date
    Apr 2013
    Location
    Belgium
    Posts
    443
    For these purposes SPI flash would probably be more secure and reliable than SD.

  6. #6
    Junior Member
    Join Date
    Aug 2017
    Posts
    5
    Quote Originally Posted by Epyon View Post
    For these purposes SPI flash would probably be more secure and reliable than SD.
    That's a good point and something to consider. I guess I was leaning towards SD because it's built in to the 3.5/3.6 and because I'm using my 3.2 for multiple projects with switches to enable/disable features, some of which require SD storage. I could go either way on this and will look into both options.

  7. #7
    Junior Member
    Join Date
    Dec 2017
    Posts
    1
    I'm also looking to do build a hardware wallet on the teensy. There is an existing project (link below) perhaps this will run on the teensy. I'm interested in collaborating.

    https://github.com/someone42/hardware-bitcoin-wallet

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •