Login Register

Vida CEM swapping

A mid-size luxury crossover SUV, the Volvo XC90 made its debut in 2002 at the Detroit Motor Show. Recognized for its safety, practicality, and comfort, the XC90 is a popular vehicle around the world. The XC90 proved to be very popular, and very good for Volvo's sales numbers, since its introduction in model year 2003 (North America). P2 platform.
Post Reply
ObliviousOrange
Posts: 2
Joined: 16 August 2025
Year and Model: 2011 C30
Location: Los Angeles

Re: Vida CEM swapping

Post by ObliviousOrange »

vtl wrote: 18 Aug 2025, 08:41
ObliviousOrange wrote: 16 Aug 2025, 21:13 Hello everyone. New to this forum and new to messing with car software. I'm having trouble getting the CEM PIN out of my 2011 C30 though, which I wanted for VDASH.

I got a Teensy 4.0, two SN65HVD230DR transceivers, and a buck converter. I successfully uploaded the code to the teensy, and only changed the code to work with this super tiny OLED screen I have on hand.

I've been too lazy to wait for shipping of more electronics stuff, so to connect to the OBD I used alligator clips and the ends of paperclips since i didn't have any other wires thick enough for a snug fit. As far as i could figure, it seems to have a workable connection.

No PCB used here, just a breadboard. I've double-checked the wiring many times now. 20250816_195258.jpg

What happened is that I kept getting a loop of "initializing" on the OLED after plugging everything in. switching some wires on the RX/TX for the U3 transceiver made it say "unknown CEM, exiting" which i assume is better. I'd also get a CAN_LS error if I unplugged U5 which might be a good sign?

After getting nothing after a lot of messing around, I tried deleting the CM_PIN_AUTODETECT line as suggested in here for P1s. Then when I tried plugging it in my car made a loud click noise, lights turned off, and the clock reset (but was otherwise okay). It would still loop on initializing and every time the screen flashed the car would click again. Very concerning.

At this point I've thrown my hands up, idk what else I should be trying. I'm still trying to learn all this, any help would be appreciated. And I expect a lot of what I've said to sound like nonsense to anyone with experience so thanks for your patience.
What do you see printed on the serial console?

Also try this version, it works better with P1 (and some P2s, too): https://github.com/cmolson/volvo-cem-cr ... e/one_pass
Thanks a lot, I'll give that version a try.
Idk what's printed on the serial console to be honest, I am under the impression I need to physically modify the teensy to safely plug it into my PC and I didn't want to do that. So I've only been going by what the tiny screen says.

I ordered a male OBD-II port to replace the paperclip wiring as well. If it doesn't magically work I'll come back in here with the serial console readout.

And if you were curious, it turns out my windows, driver lock switch, and mirror controls stopped working until I disconnected and reconnected the battery, ever since my last attempt fucked with the car. Hopefully that's the worst case scenario from CEM hacking

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

While porcupine is wondering how to effectively remove the CNG installation, I am curious how to convert to LPG while reusing most of the components(except tanks) so that the button + dashboard level works correctly.

I believe the first step is to modify the REM module to correctly work with new pressure sensors. The overall idea is to reuse the distributor and perhaps replace the evaporator with a unit that has an integrated pressure sensor and then modify the pressure maps in the ECM.

For LPG there was red evaporator that looks 1:1 with the CNG evaporator/reducer(green color). But not sure about physical properties. CNG gas is compressed a lot and to bring it to a pressure of 1 bar I am guessing it must have different sized ports. Otherwise I have no qualms reusing everything.

vtl
Posts: 4723
Joined: 16 August 2012
Year and Model: 2005 XC70
Location: Boston
Has thanked: 114 times
Been thanked: 603 times

Post by vtl »

ObliviousOrange wrote: 21 Aug 2025, 22:49And if you were curious, it turns out my windows, driver lock switch, and mirror controls stopped working until I disconnected and reconnected the battery, ever since my last attempt fucked with the car. Hopefully that's the worst case scenario from CEM hacking
The symptoms sound like the CAN lanes were miswired, or the CAN speed was set wrong.

WhizzMan
Posts: 33
Joined: 21 February 2021
Year and Model: 2001 XC70
Location: Göteborg
Has thanked: 8 times
Been thanked: 2 times

Post by WhizzMan »

dikidera wrote: 22 Aug 2025, 02:29 While porcupine is wondering how to effectively remove the CNG installation, I am curious how to convert to LPG while reusing most of the components(except tanks) so that the button + dashboard level works correctly.

I believe the first step is to modify the REM module to correctly work with new pressure sensors. The overall idea is to reuse the distributor and perhaps replace the evaporator with a unit that has an integrated pressure sensor and then modify the pressure maps in the ECM.

For LPG there was red evaporator that looks 1:1 with the CNG evaporator/reducer(green color). But not sure about physical properties. CNG gas is compressed a lot and to bring it to a pressure of 1 bar I am guessing it must have different sized ports. Otherwise I have no qualms reusing everything.
LPG is liquid, pressure stays more or less the same while the tank empties. You will want to use the level sensor from the tank.
You can get (second hand if you want to) LPG systems that do sequential injection and even liquid injection (Vialle). I understand that you would like to use as much from your current system as possible, but truth be told, it's pretty sad compared to aftermarket and most vehicles in the Netherlands and Germany were equipped with aftermarket systems, not the ones that Volvo offered for a reason.

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

I know, the system was...bad even then and shortly after multipoint injection systems were made and were more fuel efficient. It's just that the maps and everything will go to waste, as will the button. And it requires splicing of the cables so the second ecu can intercept the injection signal.

Anyway, as for my J2534 tool I plan to soon release it to github as I had promised, only will first verify and ensure that it works as expected for both high and low speed buses(on both pre and facelift p2 models).

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

Slight experiment to see where it will end up

Image
Image

So the way vida works is it calls a stored SQL procedure to decode the vin, then fetches several profiles based on the general model, then it fetches one with the general engine and then finally the combo of engine + trans combination, then from these profiles it fetches the assemblies/categories upon which it builds the table of contents and then finally fetches the parts for each categories with their notes, all from the lexicon table.

hss
Posts: 14
Joined: 5 May 2014
Year and Model: C70 2000
Location: Finland

Post by hss »

I know the information must be in this thread, but it is not easy to find. I finally cracked my P1 C70 2008 CEM pin and would like to backup the bin if the CEM ever breaks. Is it possible to do this over OBD?

dikidera
Posts: 1304
Joined: 15 August 2022
Year and Model: S60 2005
Location: Galaxy far far away
Has thanked: 67 times
Been thanked: 175 times

Post by dikidera »

May potentially contain inaccurate data at times(such as missing paint codes;missing items or items that do not belong there), without testing a few different vins(from eur region) and comparing to vida, I cannot be certain if i got it all. Sometimes the data is there but not the right query.

Work for European region for now. Later versions will store component separately, but will still load slowly if remotely accessed on some server, but they are self-contained, runs in-browser.It is a minified sqlite database dump of VIDA, in order to generate a full static version, I would need to dump all profiles which is not problematic, but the parts catalog associated with each profile requires a lot of processing due to the inter-relational data and to remove duplication. This was faster and more efficient, though requires ram.
Future versions will contain INT, NA regions, as well as ecu data and hopefully their respective CAN params.

https://limewire.com/d/38qpG#RT7K0j9JDf

MotorolaV3X
Posts: 2
Joined: 9 October 2025
Year and Model: 1999 S80
Location: Dnepr
Has thanked: 1 time

Post by MotorolaV3X »

Yariy wrote: 24 Mar 2025, 07:49 Hello everyone, please test the program for reading and writing flash via BDM, configuration changes, writing and reading configuration via OBD (J2534), Volvo CEM blocks (S60, S80, V70, XC90) 2002 - 2004 based on CEMB MC68376 28F400.

https://disk.yandex.ru/d/9i4f8ix5f6Odhg
Yariy hello, can you tell me if this utility can be used to connect to a 1999 S80 or only 2002-2004 models?

Yariy
Posts: 41
Joined: 1 July 2024
Year and Model: XC90
Location: Moskow
Has thanked: 13 times
Been thanked: 10 times

Post by Yariy »

How do I add a key to CEM before 2004? I know the startup code "send key" (40 A3 02 70 70) and it passes successfully (E3 02). I know the access code "send key" (40 A3 42 A5 A5) and it also passes successfully (E3 42). But if you send the command "ID1 - ID code transponder 1", the response is negative "Error, Security acess denied". Apparently, CEM lacks the function of displaying IDs and adding keys. VIDA says that adding and erasing keys takes place through ordering software.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post