{
  "added_at": "2026-10-20",
  "additional_evidence_urls": [
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/README.md",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABProtocol.swift",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABCrypto.swift",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABClient.swift",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/ButtonActions.swift",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Tests/main.swift",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/project.yml",
    "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/LICENSE"
  ],
  "category": "reconstruction-cases",
  "description_en": "Replaces Honda RoadSync’s Apple Music-only media control with an iOS app that pairs with a Honda PCX 2025 TFT dash over Bluetooth Low Energy and turns handlebar presses into system-wide commands for any player. The author documents the dash’s BLE services, key exchange, button registration and event bytes, reportedly worked out from the official Android app and logged traffic. Results are author-reported on one PCX125, and the protocol notes separate confirmed from unverified parts.",
  "description_zh": "以一个 iOS 应用替代 Honda RoadSync 仅支持 Apple Music 的媒体控制：通过低功耗蓝牙与 Honda PCX 2025 的 TFT 仪表配对，把车把按键转换为对任意播放器生效的系统级命令。作者记录了仪表的 BLE 服务、密钥交换、按键注册与事件字节，据称依据官方 Android 应用及通信日志推断得出。结果为作者在一台 PCX125 上的报告，协议说明区分了已确认与未验证的部分。",
  "entry_url": "https://awesomerea.org/resources/scooterlink-honda-roadsync-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/scooterlink-honda-roadsync-case/",
  "evidence_url": "https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/docs/PROTOCOL.md",
  "group": "cases",
  "id": "scooterlink-honda-roadsync-case",
  "json_url": "https://awesomerea.org/resources/scooterlink-honda-roadsync-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/scooterlink-honda-roadsync-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/scooterlink-honda-roadsync-case/index.md",
  "name": "ScooterLink: reconstructing Honda RoadSync’s handlebar-button protocol",
  "name_zh": "ScooterLink：重建 Honda RoadSync 车把按键协议",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "scope",
    "prerequisites",
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "The reviewed commit follows the v1.2 release and changes only one README link. It targets a Honda PCX 2025 with the TFT dash and RoadSync support; README reports testing on a PCX125 2025 and calls other RoadSync models untested. Select and Back map to play/pause and Next/Previous to track changes, and the app reconnects at ignition and switches the dash to phone mode. Now-playing text, speed and volume control are unavailable, and no Android version exists.",
    "No Honda software is needed at runtime, but RoadSync’s phone pairing must first be deleted on the dash, which keeps one phone key. The protocol was reportedly derived from the official RoadSync Android app and logged traffic; source comments cite decompiled Android app version 26.8.10 and a findings file, but the app, decompiled code, captures and that file are not in the repository.",
    "Building needs a Mac with Xcode 16+, XcodeGen and the user’s own signing team and bundle ID; the app targets iOS 17, and the prebuilt v1.2 IPA must be sideloaded with a personal or developer Apple ID. Controlling other apps’ playback relies on Apple’s private MediaRemote framework, which README says rules out App Store distribution.",
    "docs/PROTOCOL.md marks key exchange, per-connection validation, button registration, the phone-screen request and button events as confirmed on a real PCX125 2025, and dash drawing as unverified. A Mac-run Swift self-test checks CRC values, a simulated key exchange, validation parsing and registration and screen byte layouts. README reports that experimental colour slots and a drawn screen left the dash refusing phone mode until re-pairing, keeps that code switched off and warns never to write to the firmware-update service.",
    "MIT covers the project code. README says the project is independent of Honda and contains no Honda code or files, only original code and a description of the Bluetooth messages written for interoperability; Honda, PCX and RoadSync remain trademarks of their owners. The author’s post credits Claude with the reverse engineering."
  ],
  "requirements_zh": [
    "所审阅的提交位于 v1.2 发布之后，只改动了 README 中的一个链接。项目面向配备 TFT 仪表并支持 RoadSync 的 Honda PCX 2025；README 报告在一台 PCX125 2025 上测试，其他支持 RoadSync 的车型被标为未测试。Select 与 Back 键对应播放／暂停，Next／Previous 对应切换曲目，应用会在点火时自动重连并把仪表切换到手机模式。无法显示正在播放的曲目、车速或调节音量，也没有 Android 版本。",
    "运行时无需任何 Honda 软件，但须先在仪表上删除 RoadSync 的手机配对，因为仪表只保存一部手机的密钥。据称协议是依据官方 RoadSync Android 应用及通信日志推断得出；源码注释提到反编译的 Android 应用 26.8.10 版本及一份调查记录文件，但该应用、反编译代码、抓包记录和这份文件均未收录在仓库中。",
    "构建需要一台装有 Xcode 16+ 与 XcodeGen 的 Mac，以及使用者自己的签名团队和 Bundle ID；应用面向 iOS 17，预构建的 v1.2 IPA 须借助个人或开发者 Apple ID 侧载安装。控制其他应用的播放依赖 Apple 的私有 MediaRemote 框架，README 称因此无法上架 App Store。",
    "docs/PROTOCOL.md 将密钥交换、每次连接的验证、按键注册、手机界面请求和按键事件标为已在一台实际 PCX125 2025 上确认，仪表绘制则标为未验证。一项在 Mac 上运行的 Swift 自测检查 CRC 值、模拟的密钥交换、验证应答解析以及注册与界面的字节布局。README 报告，实验性的颜色槽位和自绘界面曾使仪表在重新配对前拒绝进入手机模式，因此相关代码保持关闭，并警告切勿写入固件更新服务。",
    "项目代码采用 MIT 许可。README 称项目独立于 Honda，不含任何 Honda 代码或文件，只有原创代码以及为互操作编写的蓝牙消息说明；Honda、PCX 与 RoadSync 仍为其权利人的商标。作者帖子称逆向工作由 Claude 完成。"
  ],
  "targets": [
    "app",
    "protocol"
  ],
  "url": "https://github.com/gdorgian/ScooterLink",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
