Updated 2026-09-15. The RP2040-Zero and Adafruit High Power IR Emitter have arrived. The user confirmed Adafruit 5639 wired In to GPIO2, GND to GND, and V+ to 5V. Original emitter preparation remains documented separately. No optical sensor is required for visual trials.
Status: the board-specific UF2 is flashed, the explicitly approved WinUSB package is installed, the real hardware clock probe passes, and the app’s emitter connection check reaches Ready. The host handles TinyUSB’s trailing empty packets and replies left by interrupted connections. Native tests include 600 seconds of simulated 120 Hz events, host protocol/USB framing tests and PIO instruction simulation. See protocol and firmware/setup instructions. The user now reports good OLED stereo at 120 Hz. LCD/QLED full-screen separation remains unresolved. The 0.3.0 preload trial did not sustain useful glasses activity. Firmware 0.4.0 adds generic LCD aperture calibration and OLED direct 240 Hz scheduling; it is flashed and the USB/clock probe passes. Optical testing is pending. Pin waveforms remain unmeasured.
The user reconfirmed working glasses synchronization at 240 Hz with Black frame insertion enabled (Left / Black / Right / Black). A saved profile had instead selected ordinary Left / Right at 240 Hz. Restoring BFI recovered operation; no firmware flash or driver change was needed. Keep the calibrated phase, shutter widths and original eye order. A separate 120 Hz emitter test completed 1,200 commands with zero errors or late commands. The 240 Hz BFI presentation test also completed without reported presentation misses or emitter errors/late commands. These short tests do not establish sustained GPU-load stability.
The release includes vision_rp2040_probe.exe; close the app before using --clock, because the running app holds the USB connection. USB success alone does not prove the IR module or glasses are responding.
The editable app and firmware now implement a refresh-independent temporal aperture: settling delay, shutter duration, global/per-eye phase, transition guards and optional scan compensation. WinUSB transports commands; it is not where the optical timing is implemented. All sliders are visible together in the existing app. OLED 120/240 Hz and 240 Hz BFI remain separate from LCD timing. See LCD calibration for controls and the distinction between supported scheduling and observed optical results.
Reviewed NTM-3D/RP2040-3D-Vision-Emitter revision 7bf75a09834497408ddbd277c40bbe1a64dfafff.
0955:0007, with bulk OUT 0x01 and 0x02. Matching IDs are not proof of an original NVIDIA emitter. Runtime firmware is already on the RP2040; NVIDIA RAM firmware extraction is unnecessary.Assuming the ordered Adafruit board is product 5639, it includes its own transistor driver and accepts a 3-5 V logic input. It needs pulsed operation, not a continuously asserted output. Adafruit product specification.
Intended connections, subject to verifying the received board’s labels and power path:
| Adafruit signal | RP2040-Zero connection |
|---|---|
| In | GPIO2, 3.3 V logic |
| GND | GND |
| V+ | USB-derived 5 V rail, after checking the actual board pinout and USB current budget |
Use the module’s driver; never power its LEDs from a GPIO. At 5 V the module specification lists about 400 mA total instantaneous LED current. Firmware must start LOW, bound every pulse, and stop output on timeout. Do not copy the upstream bare-LED/direct-GPIO alternative. Verify pin labels rather than relying solely on wire colors. A USB data cable is needed for flashing and operation. Manufacturer reference: RP2040-Zero.
Device-side scheduling can reduce dependence on individual USB arrival times. It cannot make GPU presentation and USB atomic or reveal when the panel emits light. Clock exchange also cannot eliminate unknown one-way USB delay. We must measure available host/device timing and use visual calibration for optical alignment. A stable free-running 120 Hz emitter alone will drift relative to the display.
HDR remains in the Windows rendering path; the IR waveform does not encode SDR/HDR. Changing HDR can still require another phase/duration profile because display behavior may change.
The first deliverable on arrival is controlled shutter activity with reliable stop, followed by synchronized 120 Hz stereo. A successful firmware flash or green status LED is not successful glasses calibration.