How it works
How it works
Pillion speaks NaviLite — the same projection protocol Garmin StreetCross uses to push navigation to the dash. Your screen is captured, scaled to 480×240, JPEG-encoded, and streamed frame by frame over Bluetooth.
Get casting in five steps
- 01
Install Pillion
Download the latest APK from GitHub Releases and sideload it on your Android phone.
- 02
Pair your phone to the bike
Bond your phone to the bike's Bluetooth exactly as you normally would. No extra pairing secret is required.
- 03
Select the navigation screen
On the bike's TFT, switch to the navigation screen so the dash is ready to receive imagery.
- 04
Start Pillion
Open Pillion, grant the screen-capture prompt, and tap Start.
- 05
Open your map in landscape
Launch Waze or Google Maps in landscape and it appears on the dash. Set up your route while parked.
The NaviLite protocol
Everything below was derived from black-box observation on an MT-07 (2025). It's an original write-up of an observed wire format — no Garmin or Yamaha code is reproduced.
Transport
Bluetooth Classic, RFCOMM / Serial Port Profile. Service UUID 0x7220. The phone is the RFCOMM client; the already-bonded dash advertises the service.
Framing
A small framed protocol with a CRC-32/MPEG-2 checksum guarding each message.
Authentication
A trivial de-obfuscate-and-echo handshake. The auth is universal — no per-bike key or pairing secret exists to extract.
Image channel
Your screen, scaled to 480×240 and JPEG-encoded, streamed as a sequence of frames at ~5–15 fps.
Ready to put your map on the dash?
Grab the latest APK, sideload it, and start casting. It's free for non-commercial use.