NATSX Controller.
Sistem controller Android-ke-Windows yang mengubah ponsel menjadi gamepad kompatibel Xbox 360 melalui protokol lintas platform, input multi-touch, logika kesehatan koneksi, dan pemulihan koneksi otomatis.
- Cross-language Kotlin and C# protocol with shared framing, sequencing, integrity, and authenticated session semantics
- Smart Connection Manager designed around USB Direct, Wi-Fi, and Bluetooth with health scoring, hysteresis, cooldowns, and failover
- Independent Android multi-touch input engine with analog processing and full-state gamepad snapshots
- Windows controller-session safety with authoritative transport ownership, stale-state rejection, and neutral watchdog behavior
- Trusted local pairing and reconnect foundations without cloud accounts or internet dependency
- Automated Android and Windows build/test pipelines plus deterministic protocol and connection-policy coverage
Turning a phone into a real controller pipeline..
I built NATSX Controller as a local Android-to-Windows gamepad system rather than a simple remote-control interface. The Android app owns touch input and gamepad state, while the Windows receiver owns session safety, connection authority, and virtual-controller output.\n\nThe project combines mobile development, Windows desktop engineering, networking, protocol design, connection recovery, and low-level controller integration in one product.
Keeping input stable while the connection changes underneath it.
A controller cannot afford stuck buttons, duplicated state, or a complete device reset whenever Wi-Fi drops or another transport becomes healthier. The system therefore separates virtual-controller lifetime from transport lifetime and treats every connection as a candidate that must prove it is healthy before taking authority.\n\nThat requirement shaped the protocol, watchdog behavior, reconnect logic, transport scoring, and handover rules.
One controller state. Multiple transports. No stuck input.
A transport-independent protocol shared by Kotlin and C#.
The Android and Windows sides encode the same complete GamepadState contract with shared sequence, timestamp, integrity, handshake, and session semantics. Full-state snapshots make recovery safer than relying only on button-edge events.\n\nSmart Connection Manager evaluates USB Direct, Wi-Fi, and Bluetooth using latency, jitter, loss, silence, hysteresis, cooldown, and failure history so switching is based on link health rather than a brittle static priority.
Built across mobile, desktop, protocol, transport, and safety boundaries.
The project demonstrates native Android input engineering, C#/.NET Windows development, cross-language protocol design, authenticated local connectivity, automatic failover logic, USB/Bluetooth/Wi-Fi transport work, virtual gamepad integration, and automated testing.





