When Hardware Opens Up, Accessibility Follows: What Polyend's Tracker Teaches Us About ...
The Night I Realized My Headset Could See Better Than the Clinic Polyend's Tracker firmware hit Hacker News on a Tuesday. I was scrolling in bed, half-awake, the blue light doing its usual damage to my sleep schedule. Ninety-three points. Twenty-four comments. Developers arguing over MIDI clock jitter, someone already prototyping a Eurorack bridge in Rust, another person reverse-engineering the OLED driver timings. The usual beautiful chaos when smart people get their hands on open silicon. I put the phone down and looked at the Quest 3 sitting on my nightstand — the one I'd bought for Beat Saber and never used for much else. Six months earlier, an ophthalmologist had told me the amblyopia I've carried since childhood wasn't something a patch could fix any more. My left eye had been suppressed for so long that the visual cortex had essentially rewired around it. The standard prescription: more patching, more vision‑therapy appointments, more waiting rooms that smelled of antiseptic and stale coffee. I nodded, took the pamphlet, and left feeling like a bug in a legacy codebase that nobody wanted to refactor.
The Hacker News thread kept scrolling in my head. Polyend's Tracker is a groovebox that runs on a Cortex‑M7, and the new firmware exposes a low‑latency MIDI‑over‑USB stack plus a tiny DSP block that can run custom FIR filters in real time. One commenter posted a gist showing how to stream the headset's eye‑tracking data — 90 Hz, sub‑millisecond latency — into a WebAssembly module running on the same MCU. Another linked a paper from the Journal of Vision (2022) that demonstrated measurable improvements in adult amblyopia when subjects performed dichoptic contrast‑balancing tasks inside a VR headset for 30 minutes a day over eight weeks. The paper used a custom Unity build, but the core idea was simple: present the weak eye with a slightly higher contrast version of the same scene, let the brain fuse them, and repeat.
I had a Unity license gathering dust, a Quest 3 that could run OpenXR, and a Tracker that could act as a MIDI‑clock‑synced metronome for the therapy rhythm. The pieces were there. The only missing part was the glue — someone to wire the eye‑tracking stream into a shader that modulates per‑eye contrast in real time. I spent a weekend reading the Quest's OpenXR eye‑tracking spec, the Tracker's firmware API docs, and the Unity URP shader graph reference. The eye‑tracking data arrives as a pair of vectors (gaze origin, gaze direction) per frame. The Tracker's MIDI output can be routed to a virtual MIDI port on the PC via USB‑MIDI class compliance. Unity can listen to that port with the MIDI‑Jack plugin, then drive a shader uniform that scales the red channel for the left eye only.
The first prototype was a 200‑line C# script. I set the left‑eye contrast multiplier to 1.3, right eye to 1.0, and added a slow sinusoidal drift so the brain wouldn't lock onto a static pattern. I ran the scene, put the headset on, and watched the debugger: 90 Hz, 0.8 ms frame time, MIDI jitter under 0.2 ms. The visual cortex didn't crash. After ten minutes I felt a strange pressure behind the left eye — like a muscle waking up after a long nap. I took the headset off, blinked, and the world looked a little sharper on that side. Not cured, but a signal that the pathway was still plastic.
Over the next six weeks I turned the experiment into a routine. Every evening at 9 pm I'd start the Unity build, the Tracker would click a steady 120 BPM pulse, and I'd sit on the floor of my apartment with the Quest 3 strapped on, the room dim except for the soft glow of the headset's lenses. The dichoptic scenes were simple: a rotating cube, a drifting starfield, a low‑poly forest. I added a small UI that logged session length, contrast ratio, and a subjective “clarity” slider. The data exported to a CSV that I later plotted in Python — matplotlib, pandas, a few lines of seaborn. The trend line crept upward. Week 1 average clarity 3.2/10, week 6 average 6.1/10. My ophthalmologist, when I showed her the charts at the next check‑up, raised an eyebrow and said, “We don't have a protocol for this, but the numbers look promising.”
Technically, the stack is modest: Quest 3 (Snapdragon XR2 Gen 2) → OpenXR eye‑tracking → Unity 2022 LTS URP → custom shader (HLSL) → MIDI‑Jack → Polyend Tracker firmware (Cortex‑M7, 480 MHz) → USB‑MIDI class → virtual MIDI port on Windows. The Tracker's firmware update added a “clock‑sync” mode that aligns its internal timer to the host's MIDI clock with < 0.1 ms drift, which is why the visual stimulus stays phase‑locked to the auditory metronome. That synchronization matters because the brain integrates multisensory timing cues; a 5 ms slip would break the illusion of a single coherent scene.
There were setbacks. One night the Tracker froze mid‑session — a watchdog reset triggered by a buffer overrun in the MIDI parser. I patched the firmware (the source is on GitHub under MIT) by adding a bounds check and reflashed via DFU. Another evening the Quest's eye‑tracking lost calibration after I knocked the headset off the nightstand; the OpenXR spec says you must call xrCreateEyeTrackerFB again after a pose reset. I wrapped that in a try/catch and added a voice prompt (“Recalibrating…”) so I wouldn't have to fumble with the controller.
The personal side is quieter. I remember the first time I could read the small print on a medicine bottle without squinting. I was in the kitchen, the morning light slicing through the blinds, and the label — “Take one tablet daily” — snapped into focus for the left eye. I laughed, a short, surprised sound that echoed off the tiles. My partner walked in, saw me holding the bottle like a trophy, and asked what happened. I told her about the headset, the tracker, the code. She smiled and said, “You built a vision‑therapy rig out of a synth and a VR headset. Only you.”
Now the routine is part of my week, like a build pipeline that runs nightly. I still scan Hacker News for new Tracker firmware drops, for someone publishing a WebGPU port of the dichoptic shader, for a researcher posting a new dataset on amblyopia plasticity. The community is small, but the signal‑to‑noise ratio is high. If you have a Quest 3, a Polyend Tracker, and a curiosity about how the brain rewires itself, the pieces are already on your desk. Open the firmware repo, clone the Unity project, flash the tracker, and start a session tonight. The first frame may feel like a debug log, but the hundredth frame feels like a sunrise.
Top comments (0)