duzgun.org/blog
Alfa Romeo Giulietta/ 2011 · 2.0 JTDm/ autoradio originale

Musica Bluetooth sull'autoradio originale della mia Giulietta

Sulla mia Alfa Romeo Giulietta 2.0 JTDm del 2011 potevo telefonare via Bluetooth, ma non ascoltare la musica del telefono. Era proprio quello che volevo aggiungere.

Avevo qualche possibilità:

  1. Un adattatore sull'ingresso del caricatore CD.
  2. Un adattatore Bluetooth sulle prese AUX (3.5 mm) e USB.
  3. Un'unità multimediale aftermarket, di solito cinese, che sostituisce l'intera autoradio.

Ho scelto l'adattatore Bluetooth su AUX e l'ho usato per più di cinque anni. La musica c'era, ma non potevo controllarla dal volante e, finché restavo su AUX, perdevo le chiamate dal Bluetooth dell'auto. Poi si è guastato il modulo Blue&Me originale e ha smesso di funzionare anche il sistema AUX. Avevo perso persino la soluzione con cui ero andato avanti per anni.

Ho cominciato a pensare che fosse fattibile quando ho trovato la serie di articoli di fmntf su Medium e il suo progetto fiatcan. Aveva affrontato la parte difficile su un'altra auto del gruppo Fiat e spiegato come aveva fatto. Con quel punto di partenza, e gli LLM a disposizione per aiutarmi nel lavoro, ho deciso di costruire il mio sostituto.

Volevo tenere l'autoradio originale, controllare la musica Bluetooth dal volante e telefonare con il microfono dell'auto. Volevo che funzionasse tutto insieme.

La scatola del Blue&Me aperta su un banco da lavoro: un telaio bianco stampato avvitato sulle quattro colonnine della scatola, sotto dei fili colorati, sul bordo anteriore una basetta millefori verde con un grosso condensatore.
Quasi pronto: questa foto è del 1° ottobre 2026, poco prima di montarlo in auto. Ho fissato il telaio stampato ai quattro supporti della vecchia scheda. Sotto ci sono il Pi, il modulo CAN e la scheda audio; davanti, la millefori con il condensatore aggiunto per sostenere l'alimentazione durante l'avviamento.

L'idea

Sono partito dal Blue&Me dietro il cruscotto. Era il modulo che collegava il telefono all'autoradio per le chiamate. Il mio era guasto: potevo sfruttare il suo posto per quello che avrei costruito.

Ho costruito il modulo con un Raspberry Pi Zero W e l'ho montato nella custodia originale. Il telefono si collega via Bluetooth per la musica e le chiamate. L'auto lo riconosce come Blue&Me, quindi posso scegliere quella sorgente sull'autoradio e usare i tasti al volante. Il suono arriva alla radio attraverso i cavi audio originali. Non ho usato un emulatore del caricatore CD o un adattatore AUX.

Cosa funziona adesso sulla mia auto

Musica via Bluetooth
Premo MEDIA e il telefono suona dagli altoparlanti dell'auto. Quando torno alla radio FM, la musica va in pausa.
Comandi al volante
Passo alla traccia successiva o precedente dal volante. I tasti del volume funzionano come sempre.
Il brano sul display
Artista e titolo sul display dell'autoradio, con sotto il tempo trascorso.
Chiamate in vivavoce
Sento le chiamate dagli altoparlanti e parlo nel microfono della plafoniera. Dal volante posso rispondere e riagganciare. L'altra persona sente ancora una leggera eco.
L'assistente del telefono
Il tasto voce sul volante apre l'assistente del telefono. Parlo dal microfono dell'auto e ascolto la risposta dagli altoparlanti.
Audio pulito
L'ho provato fino al volume massimo con il motore acceso. Non ho sentito distorsioni né ronzii del motore.
Niente da accendere
Quando apro l'auto, il modulo si riattiva e il telefono si ricollega da solo in pochi secondi. A macchina parcheggiata rimane in standby.
Il contachilometri non lampeggia più
L'auto lo accetta come il pezzo originale. Il contachilometri, che lampeggia quando manca un modulo, resta fisso.

Cosa serve

Ho usato piccoli moduli elettronici, saldatore e multimetro, oltre a una stampante 3D per la custodia. Gran parte del lavoro è stata fare misure al banco e studiare le registrazioni dell’auto. La guida contiene l’elenco completo di componenti e attrezzi.

La parte più impegnativa è stata far accettare il modulo alla radio. Apriva l’ingresso audio solo per un modulo riconosciuto. Prima di ascoltare la musica dovevo capire cosa si aspettava l’auto.

Far accettare il modulo alla radio

Ho dovuto risolvere separatamente l'audio e i comandi. Il suono arriva all'autoradio sui cavi analogici originali. Sul CAN passano invece i messaggi sulla presenza del modulo, la sorgente selezionata e i tasti premuti. Anche quando il Pi produceva già audio, non potevo ascoltarlo finché la radio non abilitava quell'ingresso.

Non avevo un Blue&Me funzionante da cui prendere i messaggi. Prima ho acquisito il traffico dell'auto senza modulo. Poi ho configurato l'auto come se il Blue&Me ci fosse e ho ripetuto l'acquisizione. Confrontando i due file ho visto cosa chiedeva al modulo assente. In seguito ho ricollegato quello guasto. Non faceva più il suo lavoro, ma inviava ancora messaggi che mi hanno aiutato a ricostruire il protocollo.

La prima soddisfazione è arrivata prima della musica: l'auto ha accettato il Pi e il contachilometri ha smesso di lampeggiare. Far rimanere selezionato Blue&Me sull'autoradio mi ha dato altro lavoro. Non bastava che il Pi annunciasse di avere l'audio pronto; prima doveva chiederglielo la radio, poi il Pi poteva rispondere. Ho anche filtrato i messaggi in arrivo che non servivano, così il piccolo Zero W riusciva a rispondere in tempo.

I messaggi trovati su altre auto del gruppo Fiat mi hanno dato una direzione, ma li ho usati solo dopo averli verificati nelle mie acquisizioni. Nel codice ho lasciato il riferimento accanto a ciascun messaggio. Così posso risalire alla prova che mi ha portato a trasmetterlo.

Il Pi e le schede collegate accanto al cruscotto aperto.
Il montaggio provvisorio durante una delle prime prove in auto.

La musica è stata più semplice delle chiamate

Mentre lavoravo ancora sul CAN, ho iniziato a provare l'audio a casa. La scheda audio USB mi ha dato l'uscita e l'ingresso microfono che mancano al Pi. Ascoltare musica in cuffia è stato facile. Le chiamate hanno richiesto più lavoro: l'audio doveva restare attivo in entrambe le direzioni, senza che la voce del microfono si accumulasse e arrivasse in ritardo.

La musica suonava bene, ma nelle chiamate c'erano ancora problemi. Il primo sistema con cui inoltravo il microfono tratteneva audio vecchio tra una chiamata e l'altra. Usando un solo riproduttore per musica e telefonate, poi, la musica non ripartiva quando riagganciavo. Ho separato i riproduttori e scritto un servizio che inoltra la voce al telefono senza accumularla. Con le chiamate Bluetooth a banda larga si capivano meglio anche le parole dette a bassa voce.

Per il microfono della plafoniera ho dovuto costruire un circuito apposito: non potevo collegarlo come quello di una cuffia. Ho misurato l'alimentazione, registrato la voce e qualche fischio, poi fatto una telefonata. Le misure erano utili, ma sentirmi dire dall'altra parte che la voce arrivava bene è stata la conferma che cercavo. Ho anche confrontato il volume della musica con quello della radio FM e ascoltato a motore acceso. Non c'erano ronzii, quindi non ho aggiunto un isolatore.

I comandi e il display

Volevo cambiare brano senza prendere in mano il telefono. Nelle acquisizioni vedevo quali bit cambiavano premendo i tasti del volante, ma non bastava: lo stesso tasto può fare altro durante una telefonata. Per questo l'applicazione chiede al telefono lo stato delle chiamate prima di agire.

Alcuni tasti li gestisce già l'autoradio. Me ne sono accorto provando il mute e i cambi di sorgente in auto. Per il display ho fatto altre prove: quale campo compariva su ciascuna riga e quali caratteri venivano visualizzati. Alla fine ho messo artista e titolo a scorrere sulla riga superiore e il tempo trascorso su quella inferiore.

Il primo montaggio ha rivelato il problema di alimentazione

Ho montato il modulo il 1° ottobre 2026. Tutto funzionava, finché non ho avviato il motore: il Pi si è riavviato. Ho aggiunto un diodo e un condensatore, ma il problema è rimasto. Provando il convertitore al banco, ho visto che smetteva di dare tensione in uscita a un valore d'ingresso che, secondo l'etichetta, avrebbe dovuto accettare. L'ho sostituito e i riavvii sono finiti. La prima prova mi aveva detto che riusciva ad alimentare il Pi, ma non se avrebbe retto l'avviamento del motore.

Ho dovuto pensare anche a cosa succede quando parcheggio. L'auto controlla i moduli appena si risveglia, prima ancora di girare la chiave. Un Pi spento non riesce ad avviarsi in tempo per rispondere. L'ho quindi impostato per restare in standby a basso consumo per 72 ore, poi spegnersi. Nell'uso quotidiano risponde subito e non rimane acceso senza limite. Assorbe comunque corrente anche da spento, quindi stacco l'alimentazione se non userò l'auto per molto tempo.

Farlo entrare nella custodia originale

Usando la custodia originale ho potuto mantenere il connettore e i fissaggi dell'auto. Farci stare tutto dentro è stato meno semplice del previsto: nervature, clip e supporti occupavano parecchio spazio. Da foto e misure ho ricavato un telaio e una base di montaggio in OpenSCAD. Prima di stampare i pezzi completi, ho provato delle sagome sottili per vedere se entravano.

Il modulo Blue&Me originale: una scatola piatta di plastica nera con feritoie di ventilazione e un connettore blu a 32 pin.
Il modulo originale con il coperchio chiuso. Il cablaggio dell'auto si collega al connettore blu.
La scatola aperta, con dentro appoggiata la scheda verde originale.
La scheda originale, come l'ho trovata aprendo la custodia.

Alla prima prova di montaggio ho trovato problemi che nel disegno mi erano sfuggiti. Il cavo della scheda audio toccava un supporto e l'adattatore USB finiva sopra la scheda CAN. Ho spostato il supporto, accorciato il cavo e saldato i fili direttamente al Pi. Anche per il connettore ho provato varie soluzioni, prima di scegliere i pin su una millefori. Con queste modifiche sono riuscito a far stare tutto nella custodia; nella guida spiego il montaggio e i collegamenti.

Piccola basetta millefori con pin del connettore e cavi che entrano nella custodia.
Il supporto del connettore e la basetta millefori nell’apertura della custodia.
Prima prova di montaggio nella custodia: sulla base stampata ci sono il Pi, il modulo CAN blu e la scheda audio USB nera. Il cavo dell'adattatore passa sopra i componenti; ho segnato in rosso i punti dove interferiva.
La prima prova di montaggio. In rosso ho segnato i punti in cui i pezzi interferivano. Ho spostato il supporto ed eliminato l'adattatore USB.

Eliminare le interruzioni della musica

Dopo il montaggio, ogni tanto la musica si interrompeva. La CPU non era al limite e la scheda audio non segnalava errori di buffer; il Bluetooth, invece, perdeva pacchetti. Sullo Zero W, Wi-Fi e Bluetooth condividono lo stesso chip radio, e io ero collegato all'hotspot del telefono. Ho spento il Wi-Fi e le interruzioni sono sparite. Riaccendendolo, sono tornate.

Ho risolto con un servizio: spegne il Wi-Fi mentre ascolto musica o sono in chiamata e lo riaccende dopo. Per collegarmi via SSH devo aspettare un po', ma non devo più disattivare la rete a mano ogni volta. Anche questo problema è venuto fuori solo quando ho portato in auto ciò che funzionava al banco.

Un rumore nelle chiamate

La prima chiamata dopo aver montato l'unità nella scatola è andata male. L'altra persona sentiva un rumore basso, come di motore, e non la mia voce. Ho portato l'unità a casa e al banco ho registrato l'ingresso microfono senza niente collegato. Il rumore c'era anche lì. Restava alimentando il Pi con un power bank ed è sparito quando ho tolto lo spinotto del microfono dalla scheda audio.

Questo indicava il cablaggio intorno allo spinotto, e con il multimetro ho trovato due difetti di massa. La massa dello spinotto del microfono non arrivava alla massa comune della basetta. E la massa della scheda audio stava sopra quella del Pi: 60–80 mV con lo spinotto del microfono staccato, 30–38 mV con lo spinotto inserito. La causa era il cavo USB che avevo accorciato e saldato per farlo entrare nella scatola. Ho collegato la prima e saldato un filo corto per la seconda. Con lo spinotto inserito, la differenza è scesa a 4.5 mV. Con i due fili dell'ingresso microfono uniti, il rumore è arrivato vicino al livello che avevo misurato in auto con il circuito sulla breadboard e il microfono collegato. Non sono la stessa prova. I due difetti sono arrivati con le saldature: sulla breadboard, dove avevo provato le chiamate, non c'era nessuno dei due.

Rimontata del tutto l'unità in auto, le chiamate funzionano di nuovo. L'ho provato l'11 ottobre 2026. L'altra persona sente una leggera eco, di cui mi occuperò più avanti.

Cosa mi resta da provare

  • La leggera eco che l'altra persona sente nelle chiamate. Il Pi non fa ancora la cancellazione dell'eco.
  • Rispondere a una chiamata WhatsApp dal volante. Il tasto al volante risponde a una chiamata normale, ma non ancora a una di WhatsApp.
  • Devo ancora provare come reagisce l'auto se il Pi risponde tardi al PROXI dopo una sosta di più di 72 ore.
  • Non ho ancora impostato il filesystem di root in sola lettura. Finora la scheda ha resistito alle interruzioni di corrente, ma non posso darlo per scontato in futuro.
  • La presa USB nel cassetto portaoggetti: era alimentata dal modulo originale, quindi con ogni probabilità è ancora senza corrente. Non l'ho ancora misurato.

Costruirne uno proprio

Alla fine ho ottenuto quello che volevo: l'autoradio originale, con musica, chiamate e comandi che funzionano insieme. Le misure e le prove le ho fatte sulla mia auto; su un'altra vanno ripetute. Per chi vuole costruirne uno ho preparato una guida a parte, con componenti, collegamenti, prove al banco e in auto, comandi e schemi.

Ringraziamenti e crediti

Grazie a fmntf per il progetto Doblò e la spiegazione del protocollo, e a karolkrupa per il lavoro sull’Alfa 159. Il software del mio modulo è su GitHub.