And the button does nothing.

So, now we've demonstrated that the BWallet isnt an exact duplicate of the Trezor; at a minimum the buttons are wired differently.

This can also be inferred from the source code, highlighted nicely by imahotdoglol:

BWallet button.h #define BTN_PORTGPIOC #define BTN_PIN_YES GPIO10 #define BTN_PIN_NOGPIO12 Trezor button.h #define BTN_PORTGPIOC #define BTN_PIN_YES GPIO2 #define BTN_PIN_NOGPIO5

But it was _possible_ that the buttons were wired to both the Trezor and BWallet pins in hardware, allowing for firmwares from either manufacturer to work.

Hopefully, I've been able to describe clearly what I've done to come to a conclusion. My goal is to show and explain in enough detail for you to believe me, but also provide enough detail so anyone can duplicate my results for themselves.

You know, be open. So you can exactly copy my work, if you so desire :)

Next, I'm going to try to work around this 'button not working' problem two different ways, one in hardware and one in software.

If you enjoy this type of analysis, consider donating to me at 1Adq8SP8WBWJGHyq8N3bGty8n1m9A3ms81 . I've purchased several Trezors and BWallets and other supplies to perform teardowns and experiments.

Also, please ask any questions I can help answer in the comments.

Thanks!