LUCKFOX MINI / CONTACT SMARTCARDS
Build a ShieldSigner.
An offline Bitcoin signer built around Luckfox Mini, a 2.8-inch display and optional contact smartcards. Review and sign transactions by QR; keep broadcasting in your wallet. The main four-layer PCB lives in the top-level kicad/ directory. JLCPCB assembles the small parts and Keystone test points; you fit headers and modules.
FIRMWARE ON REAL HARDWARE
LVGL screens. Rust camera. Original signing logic.
The current development image boots on Luckfox Mini: bench testing confirmed the LVGL interface and camera QR scanning. Python still owns the wallet workflow; native LVGL draws the screens, Rust controls the camera, and ZXing-C++ decodes QR pixels.
Tested bench image
lvgl-dev.cb6170a37a5a uses the standard 240×240 display/button board. Its result does not qualify the separate 2.8-inch pill carrier.
Measured, with boundaries
Packaged-runtime tests observed Python at 11,012 KiB at Home and 13,576 KiB during preview, counting private anonymous RAM plus logical swap. These are workload observations, not total device RAM.
What remains
Public-fixture signing and export checks pass. Real-wallet end-to-end acceptance is pending; carrier and smartcard qualification remain separate.
CARRIER PCB · 0.0.11-dev
Inspect both sides.
Large, straight-on views with component bodies hidden. Four copper layers, factory Keystone service points and four additional M2.5 bracket holes. Open either image at full size to zoom in. Check current order readiness →
Top · display & buttons
Eight button positions, the display header and its dedicated 3.3 V regulator.
Bottom · reader & power
Luckfox connections, the relocated smartcard circuit, USB-C power and labelled test pads.
Interactive 3D model
· ·
Hide module bodies to inspect their mating headers. Drag to rotate; scroll or pinch to zoom.
Load the 3D model to inspect the case and PCB together.

Download either GLB below to inspect it in a 3D viewer.
Camera and ribbon are adjustable envelopes. Screw threads are omitted. Digital clearances do not replace a first fit with the purchased parts. Static exploded view ↗
PCB fit stack: 35.52 mm overall height · 12 mm display spacers · 8.5 mm female sockets · 2.54 mm header pitch. Headers are nominal models; purchased part dimensions and contact depth still need checking. Dimensions & CAD import instructions ↗
Understand the build
This prototype combines SeedSigner’s signing workflow with the ShieldSigner smartcard fork and a custom carrier. Hardware, firmware and website versions are separate.
What do you want to do?
Looking for component details? Reference →Make & order the PCB
Review the matched 0.0.11 artwork package, resolve socket stock, and request a fresh assembly preview/quote.
Buy & source the parts
A complete shopping list: carrier components and the separate system parts.
Build & iterate on firmware
Test the LVGL renderer, stage one named runtime, then build an OS image only when needed.
Flash & boot the software
Verify a local development image, match its hardware profile, and check the boot after writing microSD.
Try the LVGL signing workflow
Check the working screens and camera, then practice the wallet QR handoff with a disposable seed.
Use smartcards
Choose storage or on-card signing, then verify the reader and card applet.
Native and footprint checks pass. Matching prototype quote files are available; assembler review and physical bring-up remain open.