chore: Initialize backlog with project roadmap tasks

6 tasks tracking the full build pipeline:
1. Initial design (Done) — OpenSCAD, firmware, schematic
2. Breadboard POC — test IR LEDs vs cameras
3. 3D print prototype frame
4. Flex PCB strip design and fabrication
5. ATtiny85 firmware flash + system integration
6. Camera defeat testing and optimization

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-02-21 17:44:36 -07:00
parent 90e1244aa3
commit 6d6cf9ce87
7 changed files with 158 additions and 0 deletions

16
backlog/config.yml Normal file
View File

@ -0,0 +1,16 @@
project_name: "ZK-Glasses"
default_status: "To Do"
statuses: ["To Do", "In Progress", "Done"]
labels: []
milestones: []
date_format: yyyy-mm-dd
max_column_width: 20
default_editor: "nvim"
auto_open_browser: true
default_port: 6420
remote_operations: true
auto_commit: false
bypass_git_hooks: false
check_active_branches: true
active_branch_days: 30
task_prefix: "task"

View File

@ -0,0 +1,16 @@
---
id: TASK-1
title: Initial hardware design — OpenSCAD models + firmware + schematic
status: Done
assignee: []
created_date: '2026-02-22 00:43'
labels: []
dependencies: []
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Created parametric OpenSCAD models (stealth integrated frame + snap-on clip), ATtiny85 PWM firmware, SVG circuit schematic, and rendered 10 preview images. Stealth design uses flush-mounted SMD IR LEDs behind IR-pass filter strips.
<!-- SECTION:DESCRIPTION:END -->

View File

@ -0,0 +1,25 @@
---
id: TASK-2
title: Breadboard proof of concept — test IR LEDs vs cameras
status: To Do
assignee: []
created_date: '2026-02-22 00:44'
labels: []
dependencies: []
priority: high
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Order components (SMD IR LEDs, IRLML6344 MOSFETs, ATtiny85, TP4056 charger, LiPo battery) and breadboard a minimal circuit with 4 LEDs. Test against iPhone, Android, laptop webcam, and USB security camera to verify bloom/whiteout effect at 940nm. Measure effective range and daylight performance.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Components ordered from LCSC/Mouser
- [ ] #2 4-LED breadboard circuit working
- [ ] #3 Tested against 3+ camera types
- [ ] #4 Effective range documented
- [ ] #5 Daylight vs indoor performance compared
<!-- AC:END -->

View File

@ -0,0 +1,25 @@
---
id: TASK-3
title: 3D print prototype frame — stealth integrated design
status: To Do
assignee: []
created_date: '2026-02-22 00:44'
labels: []
dependencies: []
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Print the integrated frame from integrated_frame.scad in PETG matte black. Verify LED channel dimensions, filter slot fit, temple wire routing, battery cavity, and hinge mechanism. Test-fit IR filter strip (cut from Wratten 87C gel sheet). Adjust parametric dimensions as needed.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Frame printed in PETG, no warping
- [ ] #2 IR filter strip press-fits into brow bar slot
- [ ] #3 Flex PCB strip slides into channel cleanly
- [ ] #4 Battery fits in temple tip cavity
- [ ] #5 Charge port accessible from underside
<!-- AC:END -->

View File

@ -0,0 +1,25 @@
---
id: TASK-4
title: Flex PCB strip design and fabrication
status: To Do
assignee: []
created_date: '2026-02-22 00:44'
labels: []
dependencies: []
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Design a thin flex PCB strip (4mm wide, ~100mm long) with 8x SMD IR LED footprints (PLCC-2/3528), current limiting resistors, and a connector tail. Use KiCad for PCB layout. Order from JLCPCB flex PCB service. Solder SMD components.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 KiCad PCB layout complete
- [ ] #2 Design rule check passes
- [ ] #3 Flex PCB ordered from JLCPCB
- [ ] #4 SMD LEDs and resistors soldered
- [ ] #5 Strip fits inside frame brow bar channel
<!-- AC:END -->

View File

@ -0,0 +1,26 @@
---
id: TASK-5
title: Flash ATtiny85 firmware and full system integration
status: To Do
assignee: []
created_date: '2026-02-22 00:44'
labels: []
dependencies: []
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Flash zk_glasses.ino onto ATtiny85 via USBasp programmer. Wire complete circuit: MCU → MOSFETs → flex PCB LED strips → battery → charger → switches. Assemble into printed frame. Test all 6 modes, brightness control, button response, battery life, and USB-C charging.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 ATtiny85 flashed and running
- [ ] #2 All 6 LED modes working
- [ ] #3 Button short/long/double press working
- [ ] #4 Battery charges via USB-C
- [ ] #5 Status LED shows low battery warning
- [ ] #6 Full assembly fits in printed frame
<!-- AC:END -->

View File

@ -0,0 +1,25 @@
---
id: TASK-6
title: Camera defeat testing and optimization
status: To Do
assignee: []
created_date: '2026-02-22 00:44'
labels: []
dependencies: []
priority: low
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Systematic testing against facial recognition systems. Test against OpenCV/dlib face detector, cloud FR APIs (AWS Rekognition, Google Vision). Measure at various distances (1-5m), lighting conditions (indoor, outdoor, night), and camera types (phone, webcam, CCTV, doorbell). Optimize LED angle, brightness, and pulse frequency for maximum disruption with minimum power draw.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Face detection fails at 2m+ indoor
- [ ] #2 Tested against 3+ FR algorithms
- [ ] #3 Optimal pulse frequency identified
- [ ] #4 Power vs effectiveness tradeoff documented
- [ ] #5 Limitations documented (daylight, high-end cameras)
<!-- AC:END -->