Skip to content

IRL2FA v0.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 18:20
· 33 commits to main since this release

Warning

Superseded: do not order from this release. Reviews against the manufacturers' datasheets found defects in these board files: the display flex is wider than its slot, JLCPCB would place 9 parts the wrong way round, and the IR parts face into the board. Use the newest release or main; see docs/assembly-review.md and docs/mechanical-review.md.

IRL2FA v0.1.0: first complete design

The first release with everything needed to build an IRL2FA. The design is
simulated and checked end to end, but no board has been built yet: treat
this as a prototype release and please file a build report.

Try it first: the browser simulator runs the same firmware.

Downloads

File What it is
irl2fa-gerbers-*.zip Gerbers and drill files for JLCPCB, PCBWay or similar (2 layers, 1.0 mm)
irl2fa-bom-jlcpcb.csv, irl2fa-cpl-jlcpcb.csv JLCPCB assembly BOM and placement (both sides)
irl2fa-bom.csv, irl2fa-ibom.html full BOM and interactive BOM for hand assembly
irl2fa-schematic.pdf, irl2fa.step schematic and board 3D model
irl2fa-stm32u083-*.bin / .hex / .elf firmware, flashed over SWD with a Tag-Connect TC2030-NL
irl2fa-case-stl-*.zip, irl2fa-all.3mf 3D-printable case (front, back, battery door, joystick cap)

What's in it

  • Hardware.
    • STM32U083 MCU, 2.13″ 250×122 e-paper (Good Display GDEY0213B74), RV-3032 temperature-compensated RTC.
    • Alps 5-way joystick, IR pairing link, CR2450 cell.
    • About 3.7 years typical battery life at 20 uses a day.
  • Firmware.
    • Person-to-person verification words.
    • In-person IR pairing: X25519 with commit/reveal and a 6-symbol comparison string.
    • TOTP (SHA1/256/512, 6/8 digits, 30/60 s, 512 accounts).
    • Encrypted storage with an optional joystick PIN.
  • Verification.
    • RFC test vectors and SPICE benches.
    • Netlist checks against the shared pin map.
    • A check that the fab outputs are current, and case-fit tests.
    • Renode emulation of the real firmware pairing two virtual devices.

Known open points (need a real board)

  • E-paper image orientation (-DEPD_ROTATE_180=ON flips it).
  • IR link range and reliability at 4800 baud.
  • Measured sleep current, against the 1.2 µA budget.
  • Joystick direction mapping after the 45° rotation.