Skip to content

Releases: zanderp/open-cfmoto

OpenCfMoto 2.0.13-pre

OpenCfMoto 2.0.13-pre Pre-release
Pre-release

Choose a tag to compare

@zanderp zanderp released this 18 Aug 10:10

OpenCfMoto v2.0.13-pre

Pre-release — soak for Latest. Test and report in Discord #debugging. If nothing new breaks, this becomes Latest (unless a newer cut ships first). 2.0.10 stays Latest until then.

Android Auto 17.4+ (the big one)

Google closed the old “poke AA and it connects” doors. This build dials out to Android Auto’s own head unit server (:5277), so current Play Store AA works again.

Thanks Martin Escudero — he found the path and proved it on a Samsung + 800MT Explore (~5.5 min at 29–30 fps).

Once per reboot / AA update: Android Auto → tap Version ~10 times → ⋮ → Start head unit server → Connect in OpenCfMoto.

Do not uninstall Android Auto updates. That is the wrong fix (on Samsung it can leave you with the 1.2 stub and no AA at all).

Also

  • Remember the Wi-Fi path that actually worked for your bike (skip the dead P2P wait next time)
  • Polish / Spanish / Czech translation repairs
  • Setup + README now spell out the 17.4 head unit server step
  • Clock: same as 2.0.10 (echo a bike stamp; no phone 0x10601 push). Griffin / X-Cape / Voge / QJ — no new clock experiment in this APK. Cluster may still unsync on that HU family; 2.0.10 stays Latest if you only need a stable ride.

OpenCfMoto 2.0.12-pre

OpenCfMoto 2.0.12-pre Pre-release
Pre-release

Choose a tag to compare

@zanderp zanderp released this 17 Aug 10:03

Map / GPX: auto-reverse the track when you are riding the other way, and stop hopping onto a return leg. SoftAP: wait 3 minutes before parking AA (was 60s). 2.0.10 stays Latest. About must show 2.0.12-pre / 67. Uninstall first if the phone keeps the old APK.

OpenCfMoto 2.0.11-pre

OpenCfMoto 2.0.11-pre Pre-release
Pre-release

Choose a tag to compare

@zanderp zanderp released this 13 Aug 18:14

OpenCfMoto v2.0.11-pre

Pre-release (versionCode 66 — same name, newer build). 2.0.10 stays Latest.

About = 2.0.11-pre / 66. Sideloads over the earlier 2.0.11-pre (vc65).

Clock (vc66)

vc65 answered 0x10450 with JSON. X-Cape / Voge / Griffin logs showed that path ran and the cluster still went 1970 / 00:00 — those HUs ignore the JSON and never send 0x10600.

This build:

  • Pushes one phone 0x10601 stamp after CLIENT_INFO / QUERY_TIME
  • Sets CLIENT_INFO currentHUTime to phone ms-since-midnight (does not echo the bike's 1970 value)
  • BLE clock also tries dash-like BT names (MLN / ZM_ / VOGE / …)

Also (from vc65)

  • 0x10450 Carbit JSON reply
  • Optional Bluetooth clock + stay on bike Wi-Fi
  • QR from photo, clearer download-QR vs pairing-QR error
  • Korean UI
  • About uses never-expire invite https://discord.gg/KNTjJhmFZ6

Test: Clear Logs → Connect → Maps search → check cluster → Share Logs (HU_TIME_SYNC push / EC-BTP).

OpenCfMoto 2.0.10

Choose a tag to compare

@zanderp zanderp released this 13 Aug 11:19

OpenCfMoto v2.0.10

Slim APK (~27 MB, arm64 + R8). versionCode 64 — installs over 2.0.9.

Download: OpenCfMoto.apk

Dash clock (again)

2.0.9 still jumped hours on Voge / QJ / X-Cape / Griffin (minutes often stayed). We were rewriting stamps that did not match a strict 29-char format.

2.0.10: echo the bike’s own time bytes unless the request is empty / 1970. Logs: HU_TIME_SYNC … mode=echo|phone.

Also

  • Confirmed list: UM DSR 250 Rally 2026
  • Volume reminder unchanged: Controls OFF (or the Controls volume slider) if phone/Cardo volume is pinned

Report clock OK / still wrong in Discord #debugging.

OpenCfMoto 2.0.9

Choose a tag to compare

@zanderp zanderp released this 10 Aug 15:47

OpenCfMoto v2.0.9

Slim APK (~27 MB, arm64 + R8). versionCode 63 — installs over 2.0.8.

Download: OpenCfMoto.apk

Dash clock fix

Some bikes still jumped to 00:00 / 1970 on 2.0.7–2.0.8. Changes:

  • Stop advertising supportSyncCorrectTime (claiming it made some firmwares apply a bad correction)
  • On 0x10600: echo a sane bike stamp, or write phone time if the request looks like epoch/junk
  • Never empty-ack 0x10601
  • Logs: HU_TIME_SYNC … mode=echo|phone time=

Volume reminder

If phone/Cardo volume feels locked: Controls → turn OFF “Handlebar buttons drive Android Auto�, or use the Volume slider on Controls while bars→AA stays on.

Report clock OK / still wrong (+ Share Logs) in Discord #debugging.

OpenCfMoto 2.0.8

Choose a tag to compare

@zanderp zanderp released this 09 Aug 12:00

OpenCfMoto v2.0.8

Slim APK (~27 MB, arm64 + R8). versionCode 62 — installs over 2.0.7.

Download: OpenCfMoto.apk

What's new

  • Teach my handlebar + auto-absent (no more volume hostage when keys never arrive)
  • Phone-hotspot assist for action=128 / Zontes-style QRs
  • EasyConn NSD + SoftAP port scan; dash clock sync (0x10601)
  • AA 16.4+/17.4+ self-mode ladder (no dummy BT MAC)
  • P2P MAC join + SoftAP-only bikes skip useless P2P waits

Supported models

Updated confirmed list: QJ SRK/SRT family, Rieju 307, Zontes 125X, Voge DS900X, Morbidelli T352X, 675SR-R, Ibex 800, CFORCE/GOES, and more — see SUPPORTED-BIKES.md · SHOWCASE.md.

Languages

Per-app / phone language: EN · DE · IT · FR · ES · CA · PT · PL · CS · RO · NL · HU · TR (TRANSLATIONS.md).

Report in Discord #confirmed-working or Share Logs in #debugging.

Full changelog: release-notes-2.0.8.md in the repo.

OpenCfMoto 2.0.7

Choose a tag to compare

@zanderp zanderp released this 02 Aug 11:50
0c42a4e

OpenCfMoto v2.0.7

Slim APK (~27 MB, arm64 + R8). versionCode 61 — installs over earlier 2.0.7 prebuilds.

Download: OpenCfMoto.apk

Highlights

  • Android Auto start — hybrid Activity → broadcast path; AA 17.4+ wireless only with a real Bluetooth MAC (Pixel-friendly)
  • SoftAP / EasyConn — NSD → :10930 → port scan; clearer Wi‑Fi picker timeout; SoftAP-only QRs no longer waste time on forced P2P
  • Yunmo SoftAP fallback when EasyConn never answers (e.g. some Morini SoftAP units) — X‑Cape 1200 TFT paint still experimental
  • Dash clock sync — fixes cluster jumping to 1970 / unsync after connect (Morini / Voge / QJ)
  • FGS / CrashGuard — safer sticky restart; stop nested restored-session log growth
  • Handlebars — no audio-focus grab when Nearby / Bluetooth missing
  • More confirmed bikes — Rieju 307, Morbidelli T352X, Voge DS900X, Zontes 125X, QJ SRT/SRV 600, and others (see Supported bikes)
  • Locales — Turkish, Hungarian, Italian polish

Notes

  • Keep the pairing QR / SoftAP screen open on the bike after ignition
  • Grant Nearby devices / Bluetooth for AA 17.4+ and handlebar keys
  • Open the Android Auto app once on the phone if projection never appears
  • T‑BOX is not required when the dash shows a pairing QR

Full changelog: release-notes-2.0.7.md in the repo.

debug: slim arm64+R8 (~27MB) 20260802

Pre-release

Choose a tag to compare

@zanderp zanderp released this 02 Aug 10:54
0c42a4e

Slim arm64-only + R8 (~27 MB) for size / IzzyOnDroid experiments.

Includes TR (#13+#16), HU (#12), existing IT.
Debug-signed (installable over other debug builds). Not a Play release.

debug: slim + Italian (raffy) 20260801

Pre-release

Choose a tag to compare

@zanderp zanderp released this 01 Aug 15:30
304baf2

Slim APK + Italian (raffy PR #11)

~27 MB arm64 + R8, with community Italian strings from #11

Please test (IT locale)

  1. Phone language Italiano (or app language IT if set)
  2. Walk Setup / Connect / Controls / About for wording
  3. Reply fixes to Discord #italiano or open a follow-up PR

Also fine as a general slim smoke build (QR / map / AA).

Debug: Yunmo SoftAP watchdog reconnect (2026-07-31)

Choose a tag to compare

@zanderp zanderp released this 31 Jul 05:15
337321a

Follow-up to debug-yunmo-20260730b for X-Cape 1200 SoftAP (kosalos).

Fix

  • Stall watchdog forceReconnect now tears down the Yunmo :8200 link (previously only closed EasyConn reverse-TCP clients, leaving Yunmo hung with "dropping 0").
  • Reconnect path retries Yunmo SoftAP after EasyConn/NSD fail.

Test

  1. Uninstall old build, install this APK
  2. Grant Nearby devices / Bluetooth
  3. Keep pairing QR open, Connect SoftAP ML*, wait for [YUNMO] *** linked
  4. Watch dash for picture; Share Logs if still blank