Skip to content

Week 00 - May 11-17, 2026

Focus: Pre-program onboarding, getting set up


What I did

  • Got the dev environment running (Poetry, simulator, firmware submodule)
  • Read the main source files: display.py, themes.py, pages/__init__.py, input.py, touch.py, light.py
  • Wrote up initial architecture notes covering the themes system, input events, and device profiles
  • Figured out how the 5 themes x 11 element keys structure works
  • Ran the simulator on TZT and poked around the UI
  • Started identifying what to measure for the accessibility audit
  • PR #853 (flash_success) got merged

Things I noticed

  • UI logic lives inside the page classes directly. There's no presentation layer separation. So accessibility fixes are going to touch a lot of files rather than one central place.
  • The K210 has real memory constraints. Every import costs RAM. Can't just add abstraction layers without thinking about it.
  • Simulator is fast for testing but doesn't perfectly match hardware rendering. Font antialiasing and pixel timing differ.
  • Three different touch controllers (CST816, GT911, FT6x36) with auto-detection. Touch behavior actually varies by device.
  • 9 target devices with different screen sizes. "One size fits all" isn't going to work for font and layout decisions.

Open questions

  • Simulator vs hardware for measurements? Simulator is faster but hardware is the truth. Need to decide how strict to be.
  • WCAG was designed for web and mobile. How much of it applies to a 240x320 embedded screen? Not sure yet.

Next week

  • Internship formally starts
  • Check proposal assumptions against current codebase
  • Start building the audit methodology