Case study
ntrig-calib: reconstructing Surface Pro 3 digitizer calibration
ntrig-calib reconstructs the Surface Pro 3 N-Trig digitizer's calibration exchange as a Linux Python script. The project describes Ghidra analysis of CalibG4.exe and NCPTransportInterface.dll, including NCP framing, START_CALIB and GET_STATUS commands and HID report transport. The author reports a working fix on one device while documenting uncertain response behavior and calibration longevity.
- Targets
- Binary · Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 4
- Last commit
- 2026-03-17
- Language
- Python
- License (GitHub)
- AGPL-3.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code, documentation and a demo observed; no download method found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Surface Pro 3 with an N-Trig DuoSense digitizer running Linux.
- Testing evidence: The author reports success on one device; the NCP response path has not been checked across multiple devices or kernel versions.
- Limits: Calibration may drift again, and success conditions are not fully understood.
- License: AGPL-3.0 License.
Cite
BibTeX
@misc{ntrig-calib-surface-pro-3-case,
title = {{ntrig-calib: reconstructing Surface Pro 3 digitizer calibration}},
howpublished = {\url{https://github.com/thiswillbeyourgithub/ntrig-calib}},
url = {https://github.com/thiswillbeyourgithub/ntrig-calib},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/ntrig-calib-surface-pro-3-case/}}
}Plain text
ntrig-calib: reconstructing Surface Pro 3 digitizer calibration. https://github.com/thiswillbeyourgithub/ntrig-calib (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/ntrig-calib-surface-pro-3-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · thiswillbeyourgithub/ntrig-calib · Revision 03256e1
More in Protocols
- even-utils: experimenting with Even Realities G1 dashboard messages · Case study
- Opel Insignia A: investigating LIN control of the Climatronic panel · Case study
- Opel Insignia climatronic panel: reconstructing LIN control with STM32 · Case study
- Peugeot 3008 II: investigating CAN control of the air-conditioning unit · Case study
- BMW E92 CAN Live Data: decoding ECU telemetry · Case study
- Simplesoft RP5-TY-101: mapping Toyota CAN interface messages · Case study