Previous: Fully working prototyle
With a controller connected to my Vehicles CAN-bus, I don’t want to limit the use of it to song-title and music controls. So I started to look for some more interesting values to get from the bus.
Sadly the “MS-CAN” (entertainment bus), which I am connected to cause of the info display, doesn’t allow communication to the ECU (also, this factprevents me from messing with the engine or other critical components).
The components connected to the bus do have some interresting informations and GM built a diagnostic protocol that lets you ask the controller for the actual values. This leads to the folling data:
248 # 06 AA 01 01 07 10 11 - Ask the A/C controller (0x0248) for measuringblocks 01, 07, 10 and 11 Answer: 548 # 01 03 A5 00 00 01 9C 00 - 01: 0x03A5: Solar sensor: 4.665V - 0x019C: Indoor temp sensor: 2.06V 548 # 07 00 90 04 3D FE 70 00 - 07: 0x90: Voltage: 14.4V 548 # 10 00 91 02 B2 03 1E 96 - 10: 0x0091: Out-temp: 14.5°C - 0x02B2: Engine temp: 69.0°C 548 # 11 08 ED 00 30 01 FE 23 - 11: 0x08ED: RPM: 2285 - 0x30: Speed: 48 km/h - 0x23: LED: 35%
The described values are only the ones that I already figured out.
My software now listens for this data on the bus and writes the values on the display.
The displaymode can be switched with the number keys on the headunit (which are also unused in aux mode)
15 replies on “Project MPi3 – Display additional Data”
[…] Next: Display additional data […]
[…] Previous: Display additional data […]
Hello Trueffelwurm,
I’ve just read your fantastic post recently and based on your work I’ve managed to display the engine coolant temperature to the GID display for my Astra H. My only problem is that I want the data to be displayed on the BC screen, not on the Audio screen (which is totally reasonable in your project). Did you do researches finding the other screens as well? I found that 0x03 is the main Audio screen, did you try all the values from 0x01 to 0xff? I just want to measure my chances finding the best screen for my case. 🙂
Thanks for all your efforts!
Hi, as far as I know, there is no way to inject text in the BC-Screen.
What you could do ist to send your cooland temperature as the set A/C temperature (0x0A26), so it will be displayed in the lower left corner of the display.
Hello,
finally I used the Phone screen (0x6c8)) but I was able to write to the BC screen, too (only it was ugly). I think we could exchange some knowledge, 🙂 There is only one thing I’m especially looking for, is querying the current volume. I couldn’t find this anywhere. If you have a little free time I’d be glad if you could send me an email. Thanks!
Hello jens, is it possible to obtain the Range, instant and average consumption from the display?
My plan is to use an aftermarket display and push the data in.
@six, could you please share the info on the CAN network for this car?
Sorry, 0x6c8 is the climate screen, 0x6c7 is the Phone screen
Hi six, jens,
Did you managed to get the range, instant and average consumption?
Also six, would you mind sharing your findings regarding the CAN bus?
Hi abn2091,
you can obtain the information on the GitHub Page:
https://github.com/Trueffelwurm/Car-CAN-Message-DB/blob/master/Opel/Astra/H/MS-CAN/Body.md
The range is sent to 0x04EE.
Hello guys, did you managed to extract the data like range and instant and average consumption? I plan on replacing my display but still keep this information.
Six, could you please send the info that you have on the Astra CAN network?
Hello, Six, could you please share your info regarding Opel Astra H can bus? Thank you!
a.balan2091@gmail.com
Hello Trueffelwurm.
I have Zafira B.
Looking for battery voltage Id.
I read and view all messages from the LS and MS bus.
But nothing suits me.
In your article on GitHub I found info that this is the Id 500 on the LS rail.
But I have other values for Id 500.
Maybe you know the Id voltage of the battery in Zafira B?
Hi,
is there a way to tell from the MSCan data, whether the GID display is displaying the mainscreen (with date, range and A/C info) or it’s displaying the screen that shows up when you press the left wheel button on the steering wheel (the screen with the chronometer)?
I’d like to control an OLED display with that button only if the GID is displaying the mainscreen, as the up and down wheel button turns don’t do anything there.
Amazing website. Thanks to you i managed to send text to GID display. How did you find out that sending these bytes to 0x0248 will get you all these parameters ? My problem is that when i send these bytes then I dont get anything in return.
Hi thank you for your tutorial. I managed to send text to display thanks to you. However i have problem with response from 0x548 Id. In sniffer app which i use i get nice response from bank 11, but when i want to use Arduino ide to read packages from 0x548 then data is weird. When i send query to 0x248 like you then i get data like this:
[…]
Received packet with id 0x548 Data:13A5001490
Received packet with id 0x548 Data:707A09FE700
Received packet with id 0x548 Data:13A5001490
[…]