ShieldSigner / build & use0.0.19-dev

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.

The build story: PCB, 3D and firmware with AI →

PILL CARRIER2.8-INCH / 8-PIN SPI
KiCad 3D assembly of the pill-shaped ShieldSigner, with a 2.8-inch eight-pin display between the controls
43 SMT PARTS · 4 LAYERS30 CARRIER HEADER JOINTS ↗

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.

Test points & bring-up →

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.

Open full-size ↗
Straight-on top view of ShieldSigner PCB 0.0.11, showing pads, routing and silkscreen without components obscuring them

Bottom · reader & power

Luckfox connections, the relocated smartcard circuit, USB-C power and labelled test pads.

Open full-size ↗
Straight-on bottom view of ShieldSigner PCB 0.0.11, showing pads, routing and silkscreen without components obscuring them

Interactive 3D model

Load the 3D model to inspect the case and PCB together.

Assembled printed ShieldSigner case with LCD and eight buttons

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 ↗

Case assembly guide & print files →

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.

Prototype status

Native and footprint checks pass. Matching prototype quote files are available; assembler review and physical bring-up remain open.

See what’s actually tested →