TODO:
- Test basic
lvgl_micropython
compilation for esp32s3. - Begin incorporating SeedSigner-styled UI elements from: https://github.com/kdmukai/seedsigner-micropython
- Test to what extent lvgl touch integration comes along "for free".
- Basic pure MicroPython camera driver / bindings tests.
- Integration with lvgl overlay.
- Custom bindings functions to pass camera data to
quirc
.
- Include GM805 and GM65 ribbon cable options?
- Decide on d-pad and button pinouts.
- Preferred: GM805
- Alternate option: larger GM65
TODO:
- Revive basic serial rx/tx communication tests.
- Establish desired module settings / configuration.
- Verify that the GM805 does NOT properly handle Compact SeedQR decoding.
- Investigate GM65 solution.
- Test GM802 (board separate from camera)
- Able to compile a fork of
secp256k1-embedded
. Runs successfully on esp32s3 and rp2350.- Realized that our custom-compiled binary for Pi Zero is likely using
secp256k1-embedded
's pinned reference to the main bitcoin coresecp256k1
library and NOT thesecp256k1-zkp
fork thatembit
is expecting.
- Realized that our custom-compiled binary for Pi Zero is likely using
- Requires some light but slightly ugly mods to compile for MicroPython v1.25.0 with modern tooling.
Decoding with Quirc works on esp32s3 at least up to 480x480 inputs.
TODO:
- Test performance with live camera data.
- grayscale conversion in C will be fast, but will still add to the total decoding time.
- Longer-term: test with other decoder code? ZXing? zbar?
Log / Results:
- Quirc successfully compiled for esp32s3 and rp2350.
- But rp2350 freezes during decode.
- esp32s3 performance:
- Idealized 240x240 SeedQR png: 1157ms.
- 480x480 Sparrow psbt screenshot: 2559ms.
- Able to compile for esp32s3 and rp2350 (v1.25.0 is the first to add rp2350 support) and include
secp256k1
andquirc
C_USER_MODULES
along withembit
as a frozen module. - see: https://github.com/kdmukai/micropython_builder
- Able to include it as a frozen module that uses the
secp256k1
C_USER_MODULE
.