The next thing to look at is how the display deals with the above three modes. Although we wont be using these modes they do show how we may be able to get a few extra bits that we can use.
Radio mode is actually REALLY simple. For some reason though my head unit wont stay in AM mode so I wont cver it but it should be pretty similar. I susect there is a variation on the tuning mode that will display the right steps. I also dont have the telltale codes as I cant actually see them on my display π
We are interested in the code 0x09A,Β 0x02, 0xaa, 0xbb. This seems to put the display in frequency mode and then displays the frequency in steps of .1MHz from 87.5 so for example 0x01 would be 87.6Mhz. 0xbb is always set as zero but it may be this is used for AM mode.
0x9A, 0x13 is issued just before, I dont think this is mode switching but likeley refers to setting of the telltales. It does seem this is used with every LCD mode change however I have noticed the micro does update the screen whenever it can rather than when needed.
Now the fun (and useful) one. RDS mode. This seems just as simple as above. On switching from frequency mode to RDS mode we see the following commands…
0x9A, 0x02, 0xaa, 0x00 – Freq display refresh, not sure why this is sent
0x9A, 0x23, 0x00, 0x00, 0x00 – Clear display
0x9A, 0x48,0xnn……
Why we are updating the frequency then clearing the display I really dont know. But once the display is clear the head unit sends the station ID as text. The bytes 0x9A and 0x48 are followed by 8 characters as their ASCII codes. If the ID is less then it is padded with 0x20 (space). Exactly what characters are valid is unknown. It should be possible to implement scrolling though as the display updates very fast. It may be possible to skip the clear to make it smoother.
Next: Tape Mode
Hi, well done;)
I try to hijack rs232 bus betwen RDS micro and main micro, but what is set ther is complete garbage :o) , I planed to replace rds micro with same actual rds decoder with rds text support and circle rds text as stantion name: https://github.com/tomaskovacik/arduino/tree/master/audi_concert_RDS
check your setting. I do remeber taking a look at that bus and sure with my Selae anaylyser I could see plain text. Make sure you are at the right serial rate, an analyser should be able to find it, else a scope and count timings the old fashioned way. Check polarity and if pullups are needed/in play too. If you are using an FTDI/Prolific/CH340 type device check your signal levels too, remeber this is an older bit of kit and uses 5V logic.
Hi Richard,
Thank you for the blog posts. I am trying to include a raspberry Pi (maybe the new Zero) with Wifi and Bluetooth in my Audi Concert II, and ideally use the display and the buttons. The main target is to be able to use Airplay, but potentially also various other applications. I was hoping to be able to set the display using the PI and also map the buttons to various functions on the pi.
Do you have some more information on the actual interface to the front board, how to wire it ? (Power and command) Some pictures would be useful.
As posted previously, I have not touched this for some time. As I didnt actually think people read this blog I’ve not been as good with checking as I could have been. The connections can all be picked up on the inderside of the board quite easily or on the micro. If you dig about there are some good circuit diagrams around, although most seem to be missing the last few pages.
If I were going your route I would use some logic and a micro so that the panel and and radio’s uC can be isolated then you can do what you wish with the panel and return control to go back to normal. I’d also use a small PIC to take the work of bit-banging the serial data away from the Pi, remeber the Pi isnt realtime and especially if using a high level or interpreted language you are going to have to deal with latency in acessing the GPIO pins. I’d suggest a buffer in your micro, use the Pi’s console port and send out your commands that way followed by a scheme to write the sequence to the bus.
Itβs actually a cool and helpful piece of information. Iβm glad that you just shared this useful
info with us. Please stay us up to date like this. Thank you for sharing
Thank you! The project is pretty much stalled for now but who knows.