Skip to content

QR camera scanner (GC0308 + quirc) #100

@kwsantiago

Description

@kwsantiago

Implement QR code scanning for air-gapped PSBT and policy input.

Hardware

  • Camera: GC0308 0.3MP (VGA, DVP interface)
  • Output: RGB565 (requires grayscale conversion)

Tasks

  • Add esp32-camera and quirc dependencies
  • Implement qr_scanner_init/scan/deinit
  • RGB565→grayscale conversion for quirc
  • Detect QR types: PSBT, UR, address, policy
  • Integrate with ux_display_backend.scan_qr()
  • Camera preview on display while scanning

QR Type Detection

  • Base64 PSBT (cHNidP8...)
  • UR format (ur:crypto-psbt/...)
  • Bitcoin addresses (bc1q, bc1p, 1..., 3...)
  • Policy bundles (JSON with warden_pubkey)

Performance Targets

Operation Target
QR scan < 3s
Grayscale conversion < 20ms
Frame rate ~33 FPS

Dependencies

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions