Live, editable version: https://claude.ai/code/artifact/3fee6ebc-c901-4b9b-86e9-aa16fd7ef462 This file is a snapshot from 5 Oct 2026.
Goal for Friday
By Friday evening, the wearer looks at a printed page, presses a button on the glasses, and hears the page read aloud within a few seconds. A reading screen on the laptop shows the same text with adjustable letter spacing. That screen is the first dyslexia feature, delivered without a display in the lens.
Definition of done:
- [ ] Button press on the glasses leads to speech in the earbuds in under about 8 seconds
- [ ] Reads a normal printed book page in English and Russian (Uzbek if time allows)
- [ ] Reading screen has letter-spacing, word-spacing and size sliders, and highlights each word as it is spoken
- [ ] Runs on its own battery for at least 1 hour
- [ ] 3D-printed frame is wearable, with wires hidden
- [ ] Demo video recorded as a backup for the live demo
Timeline
Software starts today without any hardware, so late parts delay only the camera step. If a checkpoint is missed, use the matching fallback in Risks.
Monday, 5 Oct: order parts and get the software working
- [ ] Order every part on the shopping list (
hardware/bom/) and confirm delivery by Tuesday - [ ] Open the reading screen (link from
deploy\get_access.ps1); the server already runs on the VM - [ ] Install Python and Tesseract (Russian and Uzbek packs) on the laptop too, as the offline fallback
- [ ] Take 10 phone photos of book pages from about 30 cm with Take photo; copy them to
tests/pages/(seedocs/server.md) - [ ] Try Seeing AI or Lookout on the same pages to see the accuracy to aim for
- [ ] Measure an existing pair of glasses and start the frame in Fusion
Checkpoint: a phone photo sent to the laptop is read aloud, with words highlighted.
Tuesday, 6 Oct: camera working
- [ ] Flash the
CameraWebServerexample to check the camera - [ ] Refocus the lens to about 30 cm
- [ ] Flash
firmware/glasses_cam: button press, photo, upload - [ ] Test on a breadboard over a phone hotspot
- [ ] Print frame v1 and check fit only
Checkpoint: pressing the button on the breadboard makes the laptop read the page.
Wednesday, 7 Oct: battery power and better accuracy
- [ ] Set the MT3608 to 5.0 V with the multimeter BEFORE connecting the board
- [ ] Wire the power chain and capacitor (
docs/wiring.md) - [ ] Run on battery for 1 hour with no resets
- [ ] Improve OCR: lighting, clean-up settings, page distance
- [ ] Print frame v2 with camera mount and battery pocket
Checkpoint: fully wireless capture works on battery.
Thursday, 8 Oct: assemble and test
- [ ] Mount everything in the frame and hide the wires
- [ ] Tune the camera angle so the page is centred
- [ ] Test 20 pages, log errors in
tests/results.md, fix the worst problem - [ ] Print final frame v3 if needed
- [ ] Freeze features at 20:00. After that, bug fixes only.
Friday, 9 Oct: demo day
- [ ] Test with a real reader, ideally someone with dyslexia, and write down their feedback
- [ ] Record the demo video into
demo/ - [ ] Prepare the pitch (
docs/pitch.md) - [ ] Pack the demo kit (
demo/checklist.md)
3D-printed frame
- Camera board on the outside of one arm, just behind the hinge, lens forward. Battery, TP4056 and MT3608 in the other arm so the glasses balance.
- Copy dimensions from glasses that fit the wearer (front width, nose bridge, arm length).
- Camera mount angled 20-30 degrees down. Print swappable wedges at 15, 25 and 35 degrees.
- TP4056 Type-C port at the back end of the battery arm for charging.
- Wire channel along the top of the front bar (2 wires: 5V and GND).
- Button on the camera arm where a fingertip finds it. Slide switch under the battery arm.
- Vent slots near the ESP32-CAM; it gets warm.
- PETG preferred (flexes instead of snapping); PLA is fine for the demo. Fixed arms, no hinges.
- Versions: v1 Tue (fit), v2 Wed (pockets and mount), v3 Thu (only if needed).
Risks and backup plans
| Risk | How you'll notice | Fallback |
|---|---|---|
| Parts arrive late | No delivery by Tuesday noon | Buy in person at Microelectronica; keep testing with phone photos |
| Board dies | No serial output, gets hot | Swap in the spare board, flashed and tested on Wednesday |
| Blurry photos | OCR returns nonsense | Refocus lens; page 30-35 cm away; check server/captures/ |
| Board resets on battery | Serial log restarts on upload | Check 5.0 V; add capacitor; shorten wires; USB power bank as last resort |
| Venue Wi-Fi blocks devices | Upload result -1 | Phone hotspot for laptop and glasses |
| Hotspot has no mobile data, or the cloud server is down | Reading screen says "Server unreachable"; glassesctl status |
Run python server.py on the laptop on the hotspot; the glasses switch to FALLBACK_URL by themselves |
| Glasses fail on stage | No beep after pressing the button | Take photo on the reading screen sends a phone photo through the same path |
| Weak Uzbek OCR or no Uzbek voice | Wrong words, or no uz-UZ voice in Edge | Demo in English or Russian; present Uzbek as next step |
| Live demo fails | Anything on stage | Play the demo video |