DASH Calibration — Offline Odometer/EEPROM Calculator for Audi, VW, BMW, Mercedes

DASH Calibration - ECU EEPROM IMMO Key and Mileage Service 2.0.17

Sign in to download for free
DASH Calibration — Offline Odometer/EEPROM Calculator for Audi, VW, BMW, Mercedes
DASH Calibration - ECU EEPROM IMMO Key and Mileage Service 2.0.17
Sign in to download for free

Bin

Thread Owner
Administrator
Joined
03.05.2025
Messages
1,821
Reaction score
34,851
New release thread for DASH Calibration — Offline Odometer/EEPROM Calculator for Audi, VW, BMW, Mercedes: discuss, share feedback, and get help.


DASH Calibration — Offline Odometer/EEPROM Calculator for Audi, VW, BMW, Mercedes​

Odometer calculation tool for VDO/MotoMeter/Jaeger clusters: Audi, VW, BMW, Mercedes, Toyota.

DASH Calibration v2.0.17
Compact offline calculator for instrument clusters (VDO, MotoMeter, Jaeger, TRW, etc.).
Generates correct values for EEPROM mileage edits and shows chip/address hints for many popular dashboards.

View attachment 850

Key Features
  • Large preset library by make/model: Audi A3/A4/A6, VW Golf/Passat/Polo, BMW E36/Z3, Mercedes...

Frequently Asked Questions​

Which Windows version is recommended?
For maximum stability during ECU flashing and diagnostics, a clean installation of Windows 10 (64-bit) is recommended.
Is it compatible with J2534 PassThru?
Most modern software versions support standard J2534 interfaces like Scanmatik 2 Pro, OpenPort 2.0, and specific VCI adapters.

What's inside:
  • Overview & screenshots
  • Version history and compatibility
  • Download link and setup notes

👉 View full details and download — DASH Calibration — Offline Odometer/EEPROM Calculator for Audi, VW, BMW, Mercedes
 
It works with the 95080 eprom for a Mercedes W369.?

Short answer: no — the W639 (Vito/Viano) with a 95080 EEPROM is not listed in the DASH Calibration preset library.

The tool covers older Mercedes clusters (C-Klasse VDO pre/post 9/95, W203, W210, W220, SLK/CLK, Sprinter Kienzle, etc.), but these are mostly 93Cxx-based dashboards. The 95080 (SPI flash) used in later W639 instrument clusters is a different chip family and requires its own address map and mileage encoding — none of which is included in v2.0.17.

What you'd need to do:
  • Read the 95080 dump with a suitable SPI programmer (e.g. UPA, Orange5, VVDI Prog, etc.).
  • Use a tool that actually supports W639 95080 mileage calculation — for example Mileage Master, Dash Explorer, or NEC/Renesas-based cluster editors that handle SPI EEPROMs.
  • If you want manual help, post the dump (or at least the relevant hex range) and confirm the exact cluster part number (A 639 xxx xx xx) — someone may be able to point you to the correct offset and encoding.

So for your specific case, DASH Calibration is not the right tool.
 
Hi,
I need to change the SSID of the dashboard A639 446 03 21 eprom 95080 KLM 53499 Mercedes W639 Vito to match the EZS . The eprom that's on the dashboard has a different SSID, so the KLMs don't appear. I only read the eprom from the dashboard because mine died.The SSID I need is this one: SSID 5869C1148.
It's in the current EZS.
 

Attachments

  • 95080_EEPROM .rar
    95080_EEPROM .rar
    525 bytes · Views: 0
  • IMG-20260406-WA0002.webp
    IMG-20260406-WA0002.webp
    139.8 KB · Views: 0
  • IMG-20260406-WA0004.webp
    IMG-20260406-WA0004.webp
    93.7 KB · Views: 0
  • IMG-20260406-WA0006.webp
    IMG-20260406-WA0006.webp
    50.9 KB · Views: 0
Hi,
I need to change the SSID of the dashboard A639 446 03 21 eprom 95080 KLM 53499 Mercedes W639 Vi...

Olá,

Bom, a situação está clara pelas fotos: painel de substituição (A 639 446 03 21, KLM 53499) com SSID diferente do EZS, por isso o odómetro mostra "-----" e os KLMs não aparecem. Precisas de escrever o SSID do EZS (5869C1148) na EEPROM 95080 do painel novo.

O que precisamos para te ajudar

Infelizmente não consigo extrair o ficheiro .rar que anexaste (limitação do servidor). Para localizar o offset correto do SSID no dump, preciso que faças o seguinte:

  1. Confirma o tamanho total do dump — a 95080 é 32Kbit = 4096 bytes (0x1000). Se o teu dump tem outro tamanho, diz qual.
  2. Posta o dump em .bin ou .hex (não RAR), ou então cola aqui o conteúdo em hex (pelo menos os offsets 0x000–0x0FF e 0x300–0x3FF) para podermos procurar o SSID actual.
  3. Que programador estás a usar para ler/escrever a 95080? (VVDI Prog, UPA, Orange5, TL866, outro?)

Informação geral sobre o SSID nestes painéis

No cluster KLM W639 com 95080, o SSID é tipicamente guardado como uma string ou valor de 4–5 bytes numa zona específica da EEPROM. O procedimento é:

  1. Ler o dump completo da 95080 do painel de substituição.
  2. Localizar o SSID actual do painel doador no dump (procurar o padrão hex correspondente).
  3. Substituir pelo SSID do teu EZS: 5869C1148 — que em ASCII hex seria
    Code:
    35 38 36 39 43 31 31 34 38
  4. Escrever o dump modificado de volta na 95080.
  5. Montar e testar — o painel deve reconhecer o EZS e mostrar os KLMs.

Notas importantes

  • Faz sempre backup do dump original antes de qualquer alteração.
  • Além do SSID, o painel doador pode ter quilometragem diferente — neste momento mostra 0 km, o que é normal num painel que não comunica com o EZS. Depois de corrigir o SSID, a quilometragem guardada no painel vai aparecer (a do painel doador, não a do teu carro).
  • A ferramenta DASH Calibration não suporta este cluster/chip, como já foi dito no post anterior.
  • Ferramentas mais adequadas para este trabalho: VVDI MB + VVDI Prog, NEC Key Adaptor, ou edição manual do dump com um editor hex.

Posta o dump em formato aberto (.bin) ou cola o hex aqui que te indico o offset exacto para alterar o SSID. 👍
 
Good morning,

dump done with Autel XP400 Pro

Bom dia,

Excelente, o dump está completo (1024 bytes = 95080 lida correctamente pelo Autel XP400 Pro). Vamos analisar.

Análise do dump

Primeiro, consigo identificar claramente a referência do painel no início do dump:

Code:
00000000  c8 ff bf 13 63 94 46 03 21 41 04 52 03 30 47 fe
                      ^^^^^^^^^^^^^^^^^^^
                      639 446 03 21 = A 639 446 03 21 (part number do cluster)

Agora, o SSID. No teu EZS o SSID é 5869C1148. Nos clusters KLM W639, o SSID é tipicamente guardado em formato BCD (Binary Coded Decimal) ou hex compactado, não em ASCII.

Vamos converter: 5869C1148 — repara que tem um "C" no meio, o que indica que é um valor hexadecimal puro de 5 bytes:

Code:
58 69 C1 14 8x

Ou seja, em 5 bytes completos: 05 86 9C 11 48 ou 58 69 C1 14 80 dependendo do alinhamento.

Localização do SSID no dump

Olhando para o offset 0x0068–0x007F:

Code:
00000060  ff ff ff ff ff ff ff ff ff 33 30 30 30 33 33 30  .........3000330
00000070  30 30 33 30 35 4c 4e 32 4e 4e 39 44 34 00 e8 21  00305LN2NN9D4..!

Isto é o número de série / código de produção do painel: 300033000305LN2NN9D4

O SSID nestes clusters W639 está tipicamente na zona 0x0274–0x0278. Olha o que temos lá:

Code:
00000270  ff ff ff ff 2a 10 b9 11 db 0b ff ff ff ff ff ff
                      ^^^^^^^^^^^^^^^
                      2A 10 B9 11 DB

Estes 5 bytes (2A 10 B9 11 DB) no offset 0x0274 são muito provavelmente o SSID actual do painel doador — é um valor que não é FF (dados válidos) numa zona que de resto está vazia.

O que precisas de fazer

  1. Confirmar o SSID alvo — o teu EZS mostra SSID 5869C1148. Em hex de 5 bytes isto pode ser codificado de duas formas. Preciso que confirmes: quando lês o SSID com a ferramenta de diagnóstico (Launch/Autel), ele mostra exactamente 5869C1148 (9 caracteres hex)?
  2. Ler o SSID do painel original morto — se ainda tens o painel original (o que morreu), o ideal seria ler a 95080 dele também. Assim confirmavas que o SSID nesse dump bate com o 5869C1148 do EZS e saberíamos o formato exacto e offset.
  3. Antes de editar — faz uma segunda cópia de backup deste dump.

Próximo passo

Para avançar com segurança, preciso que me digas:

  • Consegues ler a EEPROM do painel original (o que morreu)? Mesmo que o painel não funcione, se o chip 95080 estiver OK, o Autel XP400 Pro lê na mesma.
  • O SSID 5869C1148 — são exactamente 9 caracteres? Confirma pela foto do diagnóstico (a foto mostra parcialmente cortado com o reflexo).

Se conseguires o dump do painel original, comparo os dois e faço-te o dump editado pronto a gravar. Se não for possível, avançamos com a edição no offset 0x0274 com base na conversão do SSID, mas com o risco de o formato de codificação não ser exactamente o esperado.
 
No, I don't have the original. Is there another solution?

Ok, sem o painel original vamos trabalhar com o que temos.

Olhando novamente para o dump, o SSID do painel doador está no offset 0x0274:

Code:
00000270  ff ff ff ff 2a 10 b9 11 db 0b ff ff ff ff ff ff
                      ^^^^^^^^^^^^^^^^^^^^^^^
                      2A 10 B9 11 DB 0B

Agora, o teu SSID alvo é 5869C1148. São 9 dígitos hex, o que corresponde a 4.5 bytes. Nestes clusters Mercedes, o SSID é tipicamente guardado em 5 bytes com um nibble de padding. As codificações mais comuns são:

  • Opção A (nibble alto primeiro):
    Code:
    58 69 C1 14 80
  • Opção B (com prefixo 0):
    Code:
    05 86 9C 11 48

Olhando para o SSID actual do doador (2A 10 B9 11 DB) e comparando com o padrão — o formato mais provável neste cluster é a Opção A, onde o último nibble é preenchido com 0.

Edição a fazer

No offset 0x0274, substituir:

Code:
Antes:  2A 10 B9 11 DB 0B
Depois: 58 69 C1 14 80 0B

Ou seja, os 5 bytes do SSID mudam, o 6º byte (0B no offset 0x0279) pode ser um checksum ou flag — por agora não toques nele.

Procedimento

  1. Abre o dump num editor hex (HxD, por exemplo)
  2. Vai ao offset 0x0274
  3. Substitui 2A 10 B9 11 DB por 58 69 C1 14 80
  4. Grava como novo ficheiro (não sobrescrevas o original!)
  5. Escreve o dump modificado na 95080 com o Autel XP400 Pro
  6. Monta o painel e testa

O que esperar

  • Se o SSID ficar correcto → o painel vai comunicar com o EZS, os KLMs desaparecem e o odómetro mostra a quilometragem (a que estava guardada no painel doador)
  • Se não funcionar → o formato pode ser a Opção B, nesse caso tenta substituir por 05 86 9C 11 48 nos mesmos offsets

Nota importante

O byte no offset 0x0279 (valor 0B) pode ser um checksum parcial. Se depois de gravar a Opção A o painel continuar sem comunicar, avisa — pode ser necessário recalcular esse byte.

Tenta primeiro a Opção A e diz o resultado. 👍
 
Activity
So far there's no one here
Back