DIY Blockstream Jade + Camera - Low Cost Bitcoin Hardware Wallet ESP32-CAM, WROVER-CAM T-Camera-Plus

Поділитися
Вставка
  • Опубліковано 1 сер 2024
  • github.com/3rdIteration/Jade/...
    Buy a Retail Jade: store.blockstream.com/product...
    STL files for cases: www.printables.com/@CryptoGui...
    Purchase Links (Aliexpress)
    T-Camera Plus Builds
    T-Camera Plus: s.click.aliexpress.com/e/_DEg...
    MicroSD Sniffer: s.click.aliexpress.com/e/_DFh...
    Battery: s.click.aliexpress.com/e/_DkG...
    ESP32-Wrover-Cam Builds
    Generic ESP32-Wrover-Cam: s.click.aliexpress.com/e/_DBi...
    Freenove ESP32-Wrover-Cam: www.aliexpress.us/item/325680...
    1.14 Pico LCD Hat: s.click.aliexpress.com/e/_Dej...
    1.3 Inch LCD Hat: s.click.aliexpress.com/e/_DEc...
    Dupont Connector Wires: s.click.aliexpress.com/e/_Den...
    Digital Push buttons: s.click.aliexpress.com/e/_DdV...
    ESP32-Cam Builds
    ESP32-Cam: s.click.aliexpress.com/e/_Dmx...
    CP2104 USB To Serial: s.click.aliexpress.com/e/_DD8...
    1.14 135x240 ST7789 LCD: www.aliexpress.us/item/225580...
    Dupont Connector Wires: s.click.aliexpress.com/e/_Den...
    Digital Push buttons: s.click.aliexpress.com/e/_DdV...
    3d Printer Sovol SV06
    www.amazon.com/Sovol-Planetar...
    00:00 - Intro
    00:31 - Hardware Overview
    01:27 - Recommended Process for Building Devices
    03:07 - Freenove ESP32-Wrover-Cam + Pico 1.14 LCD
    08:28 - ESP32-Wrover-Cam + 1.3 LCD Hat (Same as Seedsigner)
    10:45 - Customising Display Driver via Menuconfig
    12:15 - Note on Different ESP32-Wrover-Cam boards
    14:35 - Lilygo T-Camera-Plus (with MicroSD Sniffer)
    19:40 - Lilygo T-Camera-Plus (PCB Soldered Button and Battery)
    19:49 - Accessing IO0 by Soldering to PCB
    21:17 - Fixing T-Camera-Plus Battery Discharge when Off
    25:24 - ESP32-CAM
    32:54 - Enabling NoRadio, Secure Boot, etc
    36:41 - Overview of current device limitations
    37:56 - Adding camera to T-Display, M5-Fire, etc
    38:38 - Note regarding 3d printed cases
    39:05 - Conclusion
  • Наука та технологія

КОМЕНТАРІ • 87

  • @maxvinella941
    @maxvinella941 Рік тому +3

    Great content as usual!

  • @magicinternetmoney8715
    @magicinternetmoney8715 7 місяців тому

    This is top notch content. It’s like a whole class on electronics. Hats off to you!!!

  • @bitcoin-durchgespielt
    @bitcoin-durchgespielt Рік тому +1

    Now let it run Doom on it to hide it as a gaming console.
    This is golden. Thanks for your Effort!

    • @CryptoGuide
      @CryptoGuide  Рік тому

      Would certainly be tight to fit both the firmware and Doom on there, but some alternative game would certainly be do-able :)

  • @hugoender
    @hugoender Рік тому

    Awesome video. Very thorough! Did you try accomplishing this with the M5Stack or M5StickC connected to a camera module such as the Unit Cam from M5Stack? Edit: Just reached the end of the video where you mention this. What a bummer that the M5Stack devices did not work with camera.

    • @CryptoGuide
      @CryptoGuide  Рік тому

      Thanks :) Yea it's shame. It could certainly be accomplished with their barcode scanner addon, but that is quite expensive and connecting a secondary MCU via a unit cam is a really bad idea in terms of security.

  • @hesunhai
    @hesunhai Рік тому

    Great Video! Hope to see more from you!
    One question: Is there a reason why you use a 1.14 inch display? Can I use a 0.96inch 80x160 lcd with the same pins as yours?
    Thank you for the content

    • @CryptoGuide
      @CryptoGuide  Рік тому

      The UI is designed around 135x240, so will be very badly cropped. (Though if you are so inclined, you could re-do the UI for a smaller screen)

  • @dsp4392
    @dsp4392 4 місяці тому

    Absolutely incredible content, and your contributions to the Jade OSS project are laudable too. I was wondering if you experimented with tapping into the unpopulated pads at the bottom right corner of the Lilygo T-Camera Plus PCB for IO. Those are apparently meant for an MPU6050 gyro, so I imagine it would be possible to use them to add buttons and make the UX a little more pleasant. What made you use the SD card pins specifically? Again thanks for the high quality content!

    • @CryptoGuide
      @CryptoGuide  4 місяці тому +1

      Thanks. :)
      Basically those pads are already connected to the i2c bus, so aren't available to be used for general purpose IO, but additional buttions could be added via an i2c GPIO extender. (I have a bunch of those but thought they added a bit too much complexity for most folk in terms of DIY)
      The ESP32 has very limited GPIO if a camera and display are in use, and with this board, the pin on the MicroSD slot it literally the only one available that can be used for a button. (GPIO scarcity is the same issue with the ESP32-CAM)

    • @dsp4392
      @dsp4392 4 місяці тому

      @@CryptoGuide Got it! That makes sense. Thank you for your reply.

    • @CryptoGuide
      @CryptoGuide  4 місяці тому

      No worries. Basically once they add support for ESP32-S3, it will open up a more available IO

  • @juanfxblender
    @juanfxblender Рік тому

    Another amazing video!!! I have a question, for obvious reason a device with a camera will be more secure, but between a Bluetooth or USB connection which one will be more secure?

    • @CryptoGuide
      @CryptoGuide  Рік тому +1

      It depends, but one advantage of Bluetooth is that it lets you verify that the Jade you are holding is actually your device, not just one that someone has swapped to phish your PIN.

  • @jonathanarras1281
    @jonathanarras1281 Рік тому +1

    Great video, could you do one about this new ledger recover feature? Everyone is saying ledger devices are no longer secure as they added firmware to extract private keys. Could this be exploited?

    • @CryptoGuide
      @CryptoGuide  Рік тому

      I'll probably do that next now that they have released all the info that they are likely to. Simply put it's probably fine for most people, especially if they don't use the service.
      What I don't like is that there isn't really any opt-in to having this functionality enabled on your device, as it's baked into the firmware for everyone rather than being some optional extra. The whole thing seems like a disaster waiting to happen...
      That said, I also don't think there is any reason to panic and rush to replace it, move funds, etc, as this is often where mistakes happen. If you want to move, be sure to take your time...

  • @FabrizioBotarelli
    @FabrizioBotarelli 5 місяців тому

    It's possible to use a LILYGO T-Display S3 AMOLED with Camera Shield?

    • @CryptoGuide
      @CryptoGuide  5 місяців тому

      Jade doesn't currently support ESP32-S3 based boards

  • @ilookstudio7825
    @ilookstudio7825 7 місяців тому

    Thanks for the very nice content I would appreciate if you make the M5Stack + Camera ^__^

    • @CryptoGuide
      @CryptoGuide  7 місяців тому

      No PSRAM, so it won't work

    • @ilookstudio7825
      @ilookstudio7825 7 місяців тому

      @@CryptoGuide what about M5Stack Fire?

    • @CryptoGuide
      @CryptoGuide  7 місяців тому +1

      The Fire could theoretically work, but they have a bunch of other IO devices hardwired in and I was unable to get the camera working due to this.

  • @NickSlavich-kv8qn
    @NickSlavich-kv8qn 7 місяців тому

    I was able to flash the Jade. It stated, “Multiple decode errors occurred: Try checking the baud rate and XTAL frequency setting in menuconfig.” Stupidly, I was pressing buttons and accidentally got 12 words and a PIN code while it was still plugged into Terminal . . . When I unplugged it from Terminal and plugged it into a power source it powers up and it says, Top left: Jade FE5354, top right: the battery and bluetooth, Middle: Setup Jade, and the Bottom says, Uninitialized 1.0.25-29-g8.
    What should I do?
    Thank you.

    • @CryptoGuide
      @CryptoGuide  7 місяців тому

      So what's your issue with doing it while connected? (And even with that, what's stopping you from just generating a new seed again?)

    • @NickSlavich-kv8qn
      @NickSlavich-kv8qn 7 місяців тому

      ​@@CryptoGuide
      "So what's your issue with doing it while connected? " - It wasn't connected to a "bitcoin software" app, it was connected to the actual Terminal program at the time. 🤷🏻 I was just trying to give full context.
      "And even with that, what's stopping you from just generating a new seed again?" -
      Thank you, I get that. Since Im not a programmer, I was just checking that since it was flashed onto my DIY Jade, everything is all good despite that error code?
      "Multiple decode errors occurred: Try checking the baud rate and XTAL frequency setting in menuconfig."
      So I can disregard that, and as long as Jade is performing as it should, Im all good? Again, Im not a programmer, Im just ensuring that there are no obvious security risks?

    • @CryptoGuide
      @CryptoGuide  7 місяців тому +1

      Basically if you have enabled secure boot and it's all runnkng still, then it's the same security as a retail Jade. (Even if you don't enable secure boot, you should avoid running the debug config)

    • @NickSlavich-kv8qn
      @NickSlavich-kv8qn 7 місяців тому

      @@CryptoGuide
      I was able to complete everything, the Jade functions and Secure Boot is installed. The issue is that it does not connect to the Blockstream app. I tried on two iPhones via bluetooth and on a MacBook Pro (which we used to set up the Jade to begin with) via USB.
      Do you know what the problem is? Thank you in advance.

    • @CryptoGuide
      @CryptoGuide  7 місяців тому

      So does it connect to something like Sparrow over USB?

  • @Sandmann_21
    @Sandmann_21 Рік тому +1

    Can you tell me if I can do it with this Ov7670 camera module
    Using a liligo t-display and if it is too difficult to adapt

    • @CryptoGuide
      @CryptoGuide  Рік тому +1

      You could use a different camera module, but the T-display doesn't have enough RAM to work properly without some other very major modifications of the code.

    • @Sandmann_21
      @Sandmann_21 Рік тому

      @@CryptoGuide I took the model with more memory ( I don't remember if it was flash or ram ) , can you tell me where +- I would have to go to make these modifications and if this module I mentioned works

    • @CryptoGuide
      @CryptoGuide  Рік тому

      The d-display versions have different amounts of flash, but all have the same amount of RAM.

  • @s.nawfal6211
    @s.nawfal6211 9 місяців тому

    8:38 Can you make the cable mapping for this 2nd LCD hat and freenove? It's not clear and not available on the github, it's only for the smaller LCD hat that's available, difficult to see with your bent wires. Thanks

    • @CryptoGuide
      @CryptoGuide  9 місяців тому

      Do you mean the waveshare hat? (With a Square display)

    • @s.nawfal6211
      @s.nawfal6211 9 місяців тому

      yes, the bigger LCD hat @@CryptoGuide

    • @s.nawfal6211
      @s.nawfal6211 9 місяців тому

      the wiring for that one is very unclear

    • @CryptoGuide
      @CryptoGuide  9 місяців тому

      It's at the bottom of the page, just look at the labels and connect it as per the tables.

    • @s.nawfal6211
      @s.nawfal6211 7 місяців тому

      still not clear @@CryptoGuide , if you can provide the sample picture of your wiring would be great, very difficult to follow by names because I have 1.44 waveshare LCD hat and it has no label on the pin holes, on the ESP32 there are clear labels though, just on the LCD hat there is nothing so very difficult to follow any guides because I don't know where the cable should go to from the ESP to the LDC hat.

  • @s.nawfal6211
    @s.nawfal6211 10 місяців тому

    Can you make tutorial on macos terminal?

    • @CryptoGuide
      @CryptoGuide  10 місяців тому

      The process is the same as Linux once you have the ESP-IDF installed

  • @ax_zwk935
    @ax_zwk935 Рік тому

    Can you physically disable wifi/bt?

    • @CryptoGuide
      @CryptoGuide  Рік тому

      If you mean removing hardware, no, but you can just disable that functionality in the firmware and flash that. (Which turns that specific hardware into a paperweight)

  • @yagoa
    @yagoa Рік тому

    why are you not using the capacitive touch "button" capability of the esp32?

    • @CryptoGuide
      @CryptoGuide  Рік тому

      Basically the intent was to stick as closely to the retail codebase as possible and the LCD hats are nice and easy to mount.
      That said, you could certainly cut the costs even more if you reconfigured the buttons to work in this way and went with a basic LCD. :)

    • @yagoa
      @yagoa Рік тому

      @@CryptoGuide I was just thinking of easy of assembly, by just having a cable tip in a tiny hole

    • @yagoa
      @yagoa Рік тому

      do you know how to configure it, would you want to put it in your fork?

    • @CryptoGuide
      @CryptoGuide  Рік тому

      It can be done, but I'm not really included to have to support it, as it creates a while range of other potential issues in terms of folk using it.

  • @Tom_SI
    @Tom_SI Рік тому

    I have a question. Is there only one blockchain or does each currency have a blockchain

    • @CryptoGuide
      @CryptoGuide  Рік тому

      There are multiple blockchains, with some of the blockchains having multiple types of correcy running on them.

  • @Dimsumerski
    @Dimsumerski 11 місяців тому

    Thanks for the great content! I attempted to flash a ESP32-WROVER-DEV and getting the following:
    "A fatal error occurred: bootloader/bootloader.bin requires chip revision in range [v3.0 - v3.99] (this chip is revision v1.0). Use --force to flash anyway."
    Any ideas?

    • @CryptoGuide
      @CryptoGuide  11 місяців тому

      That's very strange, but it does seem like some boards have the older revision like yours.
      Basically you need to remove: CONFIG_ESP32_REV_MIN_3=y from the config template and then it should work fine.
      If you go to enable secure boot then it will use secure boot v1, same as the M5StickC-Plus in my original Jade DIY video.

    • @Dimsumerski
      @Dimsumerski 11 місяців тому

      @@CryptoGuide Appreciate the quick response! This is what comes up now:
      ...jade.elf section `.iram0.text' will not fit in region `iram0_0_seg'
      ...IRAM0 segment data does not fit.
      ...region `iram0_0_seg' overflowed by 2616 bytes
      collect2: error: ld returned 1 exit status
      make[3]: *** [CMakeFiles/jade.elf.dir/build.make:476: jade.elf] Error 1
      make[2]: *** [CMakeFiles/Makefile2:2172: CMakeFiles/jade.elf.dir/all] Error 2
      make[1]: *** [CMakeFiles/Makefile2:2064: CMakeFiles/flash.dir/rule] Error 2
      make: *** [Makefile:273: flash] Error 2
      HINT: The applications static IRAM usage is larger than the available IRAM size.
      For more information on how to reduze IRAM usage run 'idf.py docs -sp api-guides/performance/ram-usage.html#optimizing-iram-usage'

    • @CryptoGuide
      @CryptoGuide  11 місяців тому +1

      The last time I saw this was when someone had a clone decide that not only had the old hardware revision, but also ended up having the voltage regulators soldered on backwards on the reverse of the board. (All of this is why the clone board are often not worth it)

    • @Dimsumerski
      @Dimsumerski 11 місяців тому

      @@CryptoGuide lmao, yeah. I wouldn't have bothered with a clone if I knew about this (and I ordered 5 of these haha). I've used generic esp32s in the past without issues so I figured this time would be no different. Oh well... 😂

    • @CryptoGuide
      @CryptoGuide  11 місяців тому

      So do all five have the same issue?

  • @NickSlavich-kv8qn
    @NickSlavich-kv8qn 7 місяців тому

    What pin (10 20 40) to order. In the notes to order the jumper wires it was on female to female 30cm 10pin. That’s what I ordred and then realized the mistake.
    So please tell me exactly what to order. I read the build. So male to female 10cm but what pin? (They give a choice of 10, 20, 40) and I believe it comes with 40 pieces or 40 jump wires.
    I sent them a note saying male to female 10cm and 10pin????

    • @CryptoGuide
      @CryptoGuide  7 місяців тому

      If you want to fit it into a small case you want the shorter ones. (10cm)

    • @NickSlavich-kv8qn
      @NickSlavich-kv8qn 7 місяців тому

      I know that part now BUT WHAT PIN - look at the link you listed.
      It says pin 10 20 40
      I am not talking about lenth of jumper wire
      I am talkiabout pin. It gives you a choice please look at your link you posted if you don’t understand
      Thank you

    • @NickSlavich-kv8qn
      @NickSlavich-kv8qn 7 місяців тому

      And I do want it to fit in case exactly like you showed.
      Thank you 😀

    • @CryptoGuide
      @CryptoGuide  7 місяців тому

      I don't understand the question then. Which part are you talking about?

    • @NickSlavich-kv8qn
      @NickSlavich-kv8qn 7 місяців тому

      To order the part I pressed your link for the jumper cable. To order the jumper cables it gives choices 1st male female next choice length of wire and the THIRD CHOICE IS SPECIFICATIONS - it lost 10 pin 20minutes 40pin I MEED TO KNOW WHAT SPECIFICATION TO POCK PLEASE. If you click the link which you posted I promise it will make sense. @@CryptoGuide

  • @jacerivers.
    @jacerivers. Рік тому

    In your opinion, what is the best way to spread your crypto holdings across multiple cold wallets? Would you recommend using multiple seeds and devices? Or have multiple devices with the same seed? Or have multiple accounts within the same wallet and seed?

    • @CryptoGuide
      @CryptoGuide  Рік тому

      The only split that makes sense to me is hot/cold/HODL, of which the latter two could just be lumped together. If you are only looking for privacy, accounting or segregated in terms of smart contracts, then accounts are sufficient.
      Every extra seed you introduce dramatically increases the chance of messing things up...

    • @jacerivers.
      @jacerivers. Рік тому

      I just thought that if one seed became compromised, then at least the crypto under another seed would be protected.

    • @CryptoGuide
      @CryptoGuide  Рік тому

      Why would a seed get compromised? You are far more likely to make a mistake or screw up multiple backups than for someone to compromise a seed.

  • @ajgulalymbekkyzy1787
    @ajgulalymbekkyzy1787 Рік тому

    How to recover invalid eth private key

    • @CryptoGuide
      @CryptoGuide  Рік тому

      BTCRecover can do this, just watch my videos on installing and using it.
      If you are totally stuck you can request a paid private session. They are $100 USD for an hour over zoom/Skype. (Full details, terms and request form are here: cryptoguide.tips/recovery-services-consultations/)
      If you want to use our paid services (either private session or trusted recovery), you can fill out the form here and we can find a time forms.office.com/r/KEypP0FRvN

  • @coonea1
    @coonea1 10 місяців тому

    An emulator that could run Jade on a Tails OS flashed usb would be fun to play with. Anyone hear of such a thing? (I'm not currently educated enough to make it myself, btw)

    • @CryptoGuide
      @CryptoGuide  10 місяців тому +1

      Block stream are actually releasing an emulator shortly

    • @coonea1
      @coonea1 10 місяців тому

      Sweet! Thanks for the reply, and great work on the video. I'm always surprised there are not more options like this out there for people. @@CryptoGuide

    • @CryptoGuide
      @CryptoGuide  6 місяців тому

      .

  • @HectorGonzalez-vp1ss
    @HectorGonzalez-vp1ss Рік тому +1

    Dude your child is pissed! I'm also a father so I know how it goes

    • @CryptoGuide
      @CryptoGuide  Рік тому

      He certainly was, first major tantrum preserved for posterity ;)