Releases: cssbruno/honda-customizer
Release list
Honda Customizer 3.4.12 — Live FYT event monitor
Honda Customizer 3.4.12 — custom cluster controls and refresh correction
Download Honda-Customizer-3.4.12-Full.zip for the APK, unchanged custom UPDE,
application source, firmware extension source/tests, validation and checksums.
The APK and UPDE are also separate release assets.
FYT monitor in 3.4.12
- Audit now shows a timestamped send/receive history before vehicle readings.
Logs packet bytes, service-call outcomes, decoded FYT field/value callbacks,
confirmed mapped-setting changes, errors and disconnects. - Last 200 events survive explicit reconnects within the same activity instance.
Historical events never populate current vehicle readings. The monitor remains
subscribed after successful sends, including while the audit is visible. - Monitoring is foreground-only; history is in memory and ends when the activity
is destroyed. This is a decoded FYT monitor, not a raw UART/CAN capture. A service
return or unrelated RX event cannot prove CAN transmission or custom command success. - Firmware is unchanged. Install the APK only for this monitor improvement.
Included menu reset fix
- Updates existing menu rows in place instead of recreating the list on every
feedback event. Menu views and the current scroll container remain intact. - Successful packet sends keep the FYT connection and parked acknowledgement.
You can explicitly send another command without reconnecting each time. - Errors, timeouts, profile changes and leaving the app still invalidate the
connection. No automatic retries, cached vehicle state or confirmation claims. - Firmware is unchanged; this fix requires installing the APK only.
Other included APK changes
- Requesting FYT data preserves real readings until their original 30-second
expiry instead of deleting them immediately. Silent requests never refresh
timestamps or manufacture readings. Expired values remain unavailable. - Main screen adds Solicitar dados FYT and the read outcome. Settings distinguish
expired, invalid and never-received feedback. - Separate experimental cluster menu: layout, color variant 1, color variant 2,
navigation display setting, tachometer display and ambient-change behavior.
All 24 protocol choices are explicit numeric inputs, not current vehicle values.
Color names and the physical meaning of each option remain unverified. - These six commands require the custom XP111 cluster-v2 extension. The app cannot
detect its installation. Exact FYT profile 0x4012A, parked acknowledgement and
explicit per-command confirmation gate dispatch through command 1030.
Dispatch remains unconfirmed; successful calls keep the connection open.
Errors and timeouts still disconnect. Earlier readings stay invalidated. - No CAN-box firmware flasher is included. The existing application ID/signing
certificate are retained for installation over the prior APK.
Firmware and limits
XP111-Cluster-Custom-v2.UPDE is the existing 75,984-byte custom application-only
container, unchanged. It excludes the bootloader. SHA-256:
1043ed024245872ed2d5ce7cf56d1df7537f89e61f0027255702894c653959df
This is an experimental prerelease, not verified flash-ready firmware. Tests do
not establish updater acceptance on the installed XP108 box, physical cluster
compatibility or a working recovery route. There was no physical flashing/test.
The navigation command is a setting candidate, not navigation-data streaming.
FYT can suppress unchanged values. The refresh correction does not solve that
service limitation or guarantee that locked settings will become available.
Validation
- Release build and lint passed; 124 Android unit/UI tests passed, zero failures,
errors or skips. All 24 custom choices match the existing firmware packet vectors. - APK signature verified; test vectors and firmware are excluded from the APK.
- Existing custom firmware: 3,333 isolated dispatcher checks passed; header gate
and transfer checksum checks passed under the documented XP111 test fixtures. - Fresh paired QEMU execution: 43 stock-command scenarios matched on measured
behavior; 41 cluster scenarios per binary covered all 24 valid private choices.
Stock rejected those choices; custom reached its extension/internal acceptance.
No sampled fault flags. No post-input UART replies or completed CAN transmission. - Decoded UPDE application matches the tested custom BIN application exactly;
declared application length matches. This is not full flashing validation.
Source and evidence
Use the attached application source ZIP for the source matching this APK.
GitHub-generated source archives refer to the existing repository anchor commit,
not the local source snapshot used for this build. Firmware-source-tests.zip
contains extension source, test scripts and evidence; reproduction also requires
its documented stock image and modified emulator environment.
Honda Customizer 3.4.11 — Stop menu resets
Honda Customizer 3.4.11 — custom cluster controls and refresh correction
Download Honda-Customizer-3.4.11-Full.zip for the APK, unchanged custom UPDE,
application source, firmware extension source/tests, validation and checksums.
The APK and UPDE are also separate release assets.
Menu reset fix in 3.4.11
- Updates existing menu rows in place instead of recreating the list on every
feedback event. Menu views and the current scroll container remain intact. - Successful packet sends keep the FYT connection and parked acknowledgement.
You can explicitly send another command without reconnecting each time. - Errors, timeouts, profile changes and leaving the app still invalidate the
connection. No automatic retries, cached vehicle state or confirmation claims. - Firmware is unchanged; this fix requires installing the APK only.
Other included APK changes
- Requesting FYT data preserves real readings until their original 30-second
expiry instead of deleting them immediately. Silent requests never refresh
timestamps or manufacture readings. Expired values remain unavailable. - Main screen adds Solicitar dados FYT and the read outcome. Settings distinguish
expired, invalid and never-received feedback. - Separate experimental cluster menu: layout, color variant 1, color variant 2,
navigation display setting, tachometer display and ambient-change behavior.
All 24 protocol choices are explicit numeric inputs, not current vehicle values.
Color names and the physical meaning of each option remain unverified. - These six commands require the custom XP111 cluster-v2 extension. The app cannot
detect its installation. Exact FYT profile 0x4012A, parked acknowledgement and
explicit per-command confirmation gate dispatch through command 1030.
Dispatch remains unconfirmed; successful calls keep the connection open.
Errors and timeouts still disconnect. Earlier readings stay invalidated. - No CAN-box firmware flasher is included. The existing application ID/signing
certificate are retained for installation over the prior APK.
Firmware and limits
XP111-Cluster-Custom-v2.UPDE is the existing 75,984-byte custom application-only
container, unchanged. It excludes the bootloader. SHA-256:
1043ed024245872ed2d5ce7cf56d1df7537f89e61f0027255702894c653959df
This is an experimental prerelease, not verified flash-ready firmware. Tests do
not establish updater acceptance on the installed XP108 box, physical cluster
compatibility or a working recovery route. There was no physical flashing/test.
The navigation command is a setting candidate, not navigation-data streaming.
FYT can suppress unchanged values. The refresh correction does not solve that
service limitation or guarantee that locked settings will become available.
Validation
- Release build and lint passed; 122 Android unit/UI tests passed, zero failures,
errors or skips. All 24 custom choices match the existing firmware packet vectors. - APK signature verified; test vectors and firmware are excluded from the APK.
- Existing custom firmware: 3,333 isolated dispatcher checks passed; header gate
and transfer checksum checks passed under the documented XP111 test fixtures. - Fresh paired QEMU execution: 43 stock-command scenarios matched on measured
behavior; 41 cluster scenarios per binary covered all 24 valid private choices.
Stock rejected those choices; custom reached its extension/internal acceptance.
No sampled fault flags. No post-input UART replies or completed CAN transmission. - Decoded UPDE application matches the tested custom BIN application exactly;
declared application length matches. This is not full flashing validation.
Source and evidence
Use the attached application source ZIP for the source matching this APK.
GitHub-generated source archives refer to the existing repository anchor commit,
not the local source snapshot used for this build. Firmware-source-tests.zip
contains extension source, test scripts and evidence; reproduction also requires
its documented stock image and modified emulator environment.
Honda Customizer 3.4.10 — Custom cluster controls
Honda Customizer 3.4.10 — custom cluster controls and refresh correction
Download Honda-Customizer-3.4.10-Full.zip for the APK, unchanged custom UPDE,
application source, firmware extension source/tests, validation and checksums.
The APK and UPDE are also separate release assets.
APK changes
- Requesting FYT data preserves real readings until their original 30-second
expiry instead of deleting them immediately. Silent requests never refresh
timestamps or manufacture readings. Expired values remain unavailable. - Main screen adds Solicitar dados FYT and the read outcome. Settings distinguish
expired, invalid and never-received feedback. - Separate experimental cluster menu: layout, color variant 1, color variant 2,
navigation display setting, tachometer display and ambient-change behavior.
All 24 protocol choices are explicit numeric inputs, not current vehicle values.
Color names and the physical meaning of each option remain unverified. - These six commands require the custom XP111 cluster-v2 extension. The app cannot
detect its installation. Exact FYT profile 0x4012A, parked acknowledgement and
explicit per-command confirmation gate dispatch through command 1030.
Dispatch remains unconfirmed; the app disconnects and requires explicit reconnect. - No CAN-box firmware flasher is included. The existing application ID/signing
certificate are retained for installation over the prior APK.
Firmware and limits
XP111-Cluster-Custom-v2.UPDE is the existing 75,984-byte custom application-only
container, unchanged. It excludes the bootloader. SHA-256:
1043ed024245872ed2d5ce7cf56d1df7537f89e61f0027255702894c653959df
This is an experimental prerelease, not verified flash-ready firmware. Tests do
not establish updater acceptance on the installed XP108 box, physical cluster
compatibility or a working recovery route. There was no physical flashing/test.
The navigation command is a setting candidate, not navigation-data streaming.
FYT can suppress unchanged values. The refresh correction does not solve that
service limitation or guarantee that locked settings will become available.
Validation
- Release build and lint passed; 121 Android unit/UI tests passed, zero failures,
errors or skips. All 24 custom choices match the existing firmware packet vectors. - APK signature verified; test vectors and firmware are excluded from the APK.
- Existing custom firmware: 3,333 isolated dispatcher checks passed; header gate
and transfer checksum checks passed under the documented XP111 test fixtures. - Fresh paired QEMU execution: 43 stock-command scenarios matched on measured
behavior; 41 cluster scenarios per binary covered all 24 valid private choices.
Stock rejected those choices; custom reached its extension/internal acceptance.
No sampled fault flags. No post-input UART replies or completed CAN transmission. - Decoded UPDE application matches the tested custom BIN application exactly;
declared application length matches. This is not full flashing validation.
Source and evidence
Use the attached application source ZIP for the source matching this APK.
GitHub-generated source archives refer to the existing repository anchor commit,
not the local source snapshot used for this build. Firmware-source-tests.zip
contains extension source, test scripts and evidence; reproduction also requires
its documented stock image and modified emulator environment.
3.4.9 — XP commands, no CAN-box flashing
Honda Customizer 3.4.9 — XP commands, without CAN-box flashing
Removes the CAN-box firmware update screen, firmware-file selection/staging, and module14 update dispatch. The existing XP command controls, manual packet/encoder tools and vehicle diagnostics remain. The app's own APK-update check remains available.
The APK no longer requests shared-storage read/write permissions. An old incomplete-update journal from 3.4.7/3.4.8 no longer blocks the command connection. No firmware BIN/UPDE is bundled.
Download
Install Honda-Customizer-3.4.9-XP-Commands.apk over the prior version. Existing application ID and signing certificate are retained. Honda-Customizer-3.4.9-source.zip contains the corresponding application source snapshot; GitHub-generated source archives refer to the repository anchor commit instead.
Validation
116 tests passed; release build and lint passed. A regression test covers connection with an old updater journal. APK inspection confirms command/diagnostic classes remain and the dedicated CAN firmware updater classes and firmware assets are absent. Hardware command compatibility remains subject to the app's existing exact-profile and feedback requirements; no physical vehicle validation was performed for this release.
3.4.7 — XP updater + original manufacturer firmware
Honda Customizer 3.4.7 — XP updater + original firmware
Adds explicit update dispatch through the Joying/FYT XP service, file identity checks, progress and timeout diagnostics, report export, and protection against repeated uncertain update requests.
Downloads
Download and extract Honda-Customizer-3.4.7-with-ORIGINAL-XP111.zip. It contains the following files (they are inside the ZIP, not separate release assets):
Honda-Customizer-3.4.7-XP-Updater.apk: updater app.HDSS06C_V1.13.111BYPT_230804-ORIGINAL.UPDE: unmodified manufacturer update container, extracted separately inside the combined ZIP for file selection.HDSS06C_V1.13.111BYPT_230804-ORIGINAL.zip: exact original manufacturer archive, containing its original BIN and UPDE.Honda-Customizer-3.4.7-source.zip: source snapshot corresponding to this workspace build. GitHub-generated source archives refer to the repository anchor commit instead.SHA256SUMS,VALIDATION.json,UPDATER-NOTES.md: checksums, tests and implementation limits.
Firmware provenance and compatibility
The manufacturer archive was downloaded from SSInterface, for HD-SS-06C / RP5-HD product listings. Firmware version is CRI V1.13.111BYPT, dated 2023-08-04. The standalone UPDE has identical bytes to its entry in that archive; only its filename is simplified.
This is not a backup extracted from the user's box, and it is not version108. Compatibility with the pictured XP108 box remains unconfirmed. Confirm the exact package with the box manufacturer before using the update action. Do not select the raw BIN from the ZIP in the Android updater. No custom firmware is included in this release.
The APK permits review only of the identified original UPDE. It blocks the prior experimental BIN/UPDE and unknown files. A recognized file hash is not proof of hardware compatibility. Joying's service performs the actual transfer. Updates are never automatically retried; uncertain outcomes remain locked.
Validation
132 unit tests passed; release build and lint passed; APK signature verified with the existing development certificate. No physical flash or hardware compatibility test was performed. This remains a prerelease, not an installation-success guarantee.
3.4.5 — Serial XP direta (teste manual)
3.4.5 — escrita serial XP direta, manual
Adiciona Serial XP direta — teste manual à tela do perfil exato 0x4012A. O botão requer conexão identificada, ausência de operação pendente e confirmação de veículo estacionado. Ao abrir, encerra a conexão Binder deste app e descarta os valores anteriores.
A tela inteira permite informar porta, velocidade atual e corpo hexadecimal do pacote XP. Revisar mostra os bytes reais 2E + corpo + checksum; alterar qualquer campo invalida a revisão. O envio usa uma biblioteca JNI própria e faz uma única escrita direta na UART, sem passar pelo serviço SYU. Resultado e contagem de bytes ficam na tela e no histórico da auditoria em memória.
Limites concretos
- O caminho e a ligação física da UART precisam ser identificados pelo operador. Não há porta ou baud padrão. Desconectar o app não encerra o SYU nem libera suas portas; a confirmação de disponibilidade é manual, não uma detecção de exclusividade.
- A UART deve estar configurada para a velocidade informada, saída sem transformações e 8N1 sem controle de fluxo. A implementação verifica e preserva essa configuração; não chama
tcsetattr, não altera permissões, não usa root, não reinicia serviços e não lê a porta. - A abertura pode falhar por permissões/SELinux. Escritas parciais ou interrompidas não são repetidas. Bytes aceitos pelo kernel não confirmam transmissão física nem efeito no veículo.
- A rota corresponde à saída UART do encoder XP; não é a porta MCU que exige o envelope
88 55. Não há seleção automática entre essas rotas. - Ainda não há formato XP comprovado para transportar arbitrariamente ID CAN + dados OEM. Esta versão não adiciona layouts/cores extras do cluster nem requer flash.
- Android mínimo agora é 5.0 / API 21, por exigência do NDK utilizado. A central Android 10 atende esse requisito. Bibliotecas ARM32, ARM64, x86 e x86_64 incluídas.
Evidência do smali
Referência SYU 2.23.0711.1001, SHA-256 4b428302e29c9e2503ccf7844a127f5bed59450736317629aa42b5eb35a9b577; a central fotografada usa 2.23.0718.1700, ainda não inspecionada.
g0/w.j0: low word0x12Aselecionag0/r.g0/r.f: geraE9 2E + corpo + (soma(corpo) XOR FF), com truncamento a byte.g0/a.c: na saída configuradac1/w, remove o seletor externoE9antes de encaminhar os bytes.c/d$b.f,c/d,i1/c0: escrita serial porJniSerial; configuração 8 bits, paridade N, 1 stop bit. A implementação nova preserva a configuração existente em vez de reconfigurar a porta.i0/e4.d,chip/Chip.m: seleção/configuração de portas dependente da plataforma. Não prova qual UART está ligada à XP instalada.
Validação
- 104 testes JUnit aprovados, lint sem erros, APK release compilado para quatro ABIs.
- 21 testes Python existentes aprovados.
- Três verificações JNI no computador com pseudoterminal: bytes exatos e configuração preservada; velocidade divergente rejeitada sem bytes; arquivo comum preservado e rejeitado.
- Pseudoterminal e fixtures não estão no APK e não comprovam compatibilidade com o hardware XP. Nenhum comando foi enviado ao veículo.
Honda Customizer 3.4.2 — decoder identification
Honda Customizer 3.4.2 — decoder identification for cluster research
The XP connection report now reads the CAN decoder version text from FYT field 1005, in addition to the existing numeric profile and SYU Android service version. The previous callback parser ignored string-only replies.
On exact profile 0x4012A, connect and open Report → Copy. If FYT supplies the decoder version, it appears on its own line. Missing text remains unavailable. The report explicitly labels the version as service-reported and potentially cached; it does not confirm the current physical hardware identity. Reconnection clears the previous session's text. This subscription sends no vehicle command.
This release does not add extra physical cluster customization. The source archive now includes an offline derivation of 48 conditional OEM packets covering meter configuration, ambient-color options, turn-by-turn display and tachometer display. Their XP passthrough mapping remains unresolved and they are not included in the app as executable presets.
Validation: 89 Java tests and 11 Python tests; release lint has no errors. Coverage includes string-only callbacks, malformed payloads, unavailable text, stale-session rejection, and no vehicle writes during identification. No physical head unit or vehicle is connected to the development environment.
Version code 14, retaining the existing signing certificate. Install Honda-Customizer-3.4.2-FYT.apk or use the in-app update check.
Honda Customizer 3.4.1 — ready XP actions
Honda Customizer 3.4.1 — ready XP actions
Adds three buttons on exact XP profile 0x4012A, alongside the existing 22 persistent settings:
- Reset maintenance information:
C6 02 0E 00. - Restore vehicle customization settings:
C6 02 0F 00. - Request TPMS calibration:
C6 02 11 00.
No byte entry is required. Parked acknowledgement and action-specific confirmation are required before sending. The report records the action name and packet. Each packet is sent once through FYT module 7 command 1008; FYT adds E3. This reproduces the verified stock XP command-105 payload, without substituting OEM controller frames.
Completion on the vehicle remains unconfirmed. Sending clears old readings and disconnects; reconnect for new feedback. No retries, decoder substitutions or service fallback. The existing manual packet editor remains available.
Validation: 84 Java tests, 7 Python tests, release lint with no errors. The actual buttons are tested for their exact outgoing packets and cancellation. Physical vehicle execution has not been tested.
Version code 13, retaining the existing signing certificate. Install Honda-Customizer-3.4.1-FYT.apk or use the in-app update check.
Honda Customizer 3.4.0 — Manual XP packets
Honda Customizer 3.4.0 — manual XP packets
Adds Manual XP packet / Pacote XP manual alongside the existing FYT settings on exact decoder profile 0x4012A.
Connect, acknowledge parked, open the editor, enter the XP packet body as hexadecimal bytes separated by spaces, then review and confirm. The editor starts empty. It accepts 1–64 bytes and sends them once through FYT module 7 command 1008, whose documented implementation adds E3 and forwards the supplied body to the decoder transport.
This implements a manual XP packet sender. It does not provide automatic Honda-service-to-XP conversion, additional OEM feature presets, or a proven arbitrary physical CAN-frame format.
The app records the request and dispatch outcome in the connection report. It never treats dispatch or unrelated feedback as vehicle confirmation. Existing readings are discarded when sending starts; the app disconnects afterward. Reconnect to obtain new live feedback. There are no automatic retries or service fallbacks. Connection changes, timeout and stale confirmation dialogs invalidate requests that have not yet been dispatched.
English and Portuguese UI are included. Test coverage includes exact byte preservation, empty/malformed/oversized input, profile restrictions, parked acknowledgement, connection ownership, cancellation before dispatch, timeout, rejection, concurrent-setting exclusion, and the actual review/confirmation dialogs. All 80 Java release tests and 7 Python tests passed; release lint reported no errors. Hardware execution remains unverified.
Version code 12, retaining the existing signing certificate. Install Honda-Customizer-3.4.0-FYT.apk over the current version or use Check for updates.
Evidence: XP lower-level send route.
XP111 cluster lab v2-pre.1 — experimental, não instalar
XP111 cluster lab v2-pre.1
Experimental emulator-only prerelease. Not validated for flashing through the Android app.
Contains the existing XP111 candidate with six experimental cluster settings, comparison tests, and static Android updater analysis. No firmware bytes changed for this prerelease.
Validation: 43 paired QEMU scenarios matched; 3,333 isolated dispatcher checks passed; 11 comparator self-tests passed. The stock UPDE codec roundtrip reproduced the original file. These do not establish hardware compatibility or acceptance of a modified update.
The selected installation route is the Android head-unit app. Static XP UI evidence shows FYT module 14, command 0, receiving the file path. UART transport and modified-image acceptance are unverified. No installable UPDE or APK is supplied.
Reproduction requires external stock firmware, the prior V1 experiment for legacy tests, Unicorn, and the locally modified QEMU fixture. Paths in existing scripts refer to the original /tmp workspace. See COMPARISON-TEST.md and README.md.
The firmware experiment source and validation evidence are in the attached ZIP. GitHub-generated source archives refer to the repository anchor commit, not the separately packaged firmware experiment.