On this page

Results

Both targets work from the same wiring. This page records what each achieves and which numbers are actually known.

What the mouse target achieves

  • a resistive panel appears to the host as an ordinary USB mouse
  • movement is reported as relative deltas, so it works on any operating system with a generic HID mouse
  • no host-side driver or configuration is needed

What the digitizer target achieves

  • the panel appears as a HID digitizer, so Linux evdev and LVGL, Windows and macOS treat it as a touchscreen rather than a pointing device
  • absolute coordinates are reported, which is what a kiosk, an embedded HMI or a drawing tablet needs
  • the filter chain removes spikes, smooths motion, stops a held contact from trembling and debounces lift-off, see Signal filtering

Known figures

FigureValueSource
X axis raw range150 to 3784 ADC counts, mapped to 0 to 799measured on a 4-wire panel
Y axis raw range277 to 3784 ADC counts, mapped to 0 to 479measured on a 4-wire panel
SPI clock1 MHz, mode 0, MSB firstfirmware configuration
Controller resolution12 bitsXPT2046 datasheet

The calibration values are the only measured numbers in the project. They are specific to the panel they were taken on, which is why the firmware keeps them as editable constants.

What is not recorded

  • report rate under sustained movement, and the latency between a touch and a host event
  • behaviour at the screen edges, where extrapolation and clamping interact
  • how the two targets compare on the same panel with the same noise source
  • long-run drift in the calibration, for example after the panel ages

The UART debug output is the intended way to capture these, and the build supports it on GPIO 0 at 115200 baud. See Diagnostics.