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
ghettob
Posts: 11
Joined: 12 January 2026
Year and Model: 2011
Location: Finland
Has thanked: 1 time

Re: Vida CEM swapping

Post by ghettob »

hi.

I've encountered a massive obstacle with the teensy build.

I've managed to get the car to programming mode, but the teensy keeps bootlooping causing the car to go in and out of programming mode thus being unable to crack the pin.

Any advice?

Dudde
Posts: 64
Joined: 22 January 2020
Year and Model: 2005 V70 and more
Location: Finland
Has thanked: 14 times
Been thanked: 17 times

Post by Dudde »

ghettob wrote: 12 Jan 2026, 03:20 hi.

I've encountered a massive obstacle with the teensy build.

I've managed to get the car to programming mode, but the teensy keeps bootlooping causing the car to go in and out of programming mode thus being unable to crack the pin.

Any advice?
What car? Which branch of cracker?

ghettob
Posts: 11
Joined: 12 January 2026
Year and Model: 2011
Location: Finland
Has thanked: 1 time

Post by ghettob »

p3 with p3 v70 and v60

Few seconds after starting the teensy just reboots.

After testing it standalone i tried it plugged in to a Computer and the bootloop is present even when not plugged to the car

crasbe
Posts: 91
Joined: 8 December 2022
Year and Model: 02 S60, 98 V70 (EV)
Location: Germany
Has thanked: 31 times
Been thanked: 79 times

Post by crasbe »

dikidera wrote: 02 Jan 2026, 19:38 The ETM was the module that helped me crack CAN signal configuration, understanding how the CAN ids were calculated in the entire P2 Volvo lineup. Really good learning experience.
Would you mind sharing some of your insights?
Damien Maguire (known for converting BMWs and lately also Volvos to Electric Vehicles) and myself have been working on reverse engineering the CAN messages on the P2 series, but since we have different generations of cars (he has 2003, I have 2002), it's twice the amount of work without knowing the system behind it.
Edit: Here is the repository with the start of DBC files and some annotated logs: https://github.com/damienmaguire/Volvo- ... ngineering

From what I found out is that the P2 generation used the "Volcano" software to generate the CAN bus IDs and timing. There seems to be some structure in the IDs but I could never really pinpoint it. There always was "oh, this looks like it could be it" and then there's an outlier that broke the structure...
Last edited by crasbe on 12 Jan 2026, 14:53, edited 1 time in total.
Check out my 3D Printed Parts for Volvo P2 and P80 on Printables :D

crasbe
Posts: 91
Joined: 8 December 2022
Year and Model: 02 S60, 98 V70 (EV)
Location: Germany
Has thanked: 31 times
Been thanked: 79 times

Post by crasbe »

Treur wrote: 29 Dec 2025, 05:52
vtl wrote: 29 Dec 2025, 05:31 I still can't read this slop, it is written like for brain damaged (by brain damaged, too) ;) "By reconstructing the full 29-bit extended CAN ID through bitwise operations, we calculate a substantial identifier value of 0x0080401E, which translates to 8,404,510 in decimal." - zero value in this whole sentence. Actually, negative: I still read it.
CEM-B was written by drug addicts, or maybe Indians with their left heels under a bush.

This system shouldn't work at all. It's just one paranoia after another.

Even if we're talking about a PIN code, it exists and can't be used. And even if it were possible, what's the point of it if the module itself simply provides it upon request!?
Can you tell me some more about this? I started reverse engineering the CEM-B code with Ghidra, but there are big chunks of data that are nonsensical, so it's probably "encrypted"/scrambled/whatever. Some of the CAN functionality is in the plain parts of the code, but as far as I could tell nothing of the actual interesting stuff.

"Interesting" means the immobilizer in this case, because we/I want to do an EV conversion of a P2 Volvo without relying on the original ECM but instead talk directly to the CEM.

This is not done for profit, I share all the design files and information I gather along the way for free.
The communication with the CEM would be integrated into the ZombieVerter project (https://github.com/damienmaguire/stm32-vcu) that can be used by other enthusiasts to EV convert their Volvos.
Check out my 3D Printed Parts for Volvo P2 and P80 on Printables :D

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 »

crasbe wrote: 12 Jan 2026, 14:48 converting BMWs and lately also Volvos to Electric Vehicles
<grumble sounds>can I take an Electric and convert it to old 5-banger Volvo?</grumble sounds>

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 »

ghettob wrote: 12 Jan 2026, 03:20 hi.

I've encountered a massive obstacle with the teensy build.

I've managed to get the car to programming mode, but the teensy keeps bootlooping causing the car to go in and out of programming mode thus being unable to crack the pin.

Any advice?
Copy your terminal output, paste on gist.github.com, share a link here.

crasbe
Posts: 91
Joined: 8 December 2022
Year and Model: 02 S60, 98 V70 (EV)
Location: Germany
Has thanked: 31 times
Been thanked: 79 times

Post by crasbe »

vtl wrote: 12 Jan 2026, 14:57
crasbe wrote: 12 Jan 2026, 14:48 converting BMWs and lately also Volvos to Electric Vehicles
<grumble sounds>can I take an Electric and convert it to old 5-banger Volvo?</grumble sounds>
People have put V8s in Teslas, but I don't think anyone used a Volvo engine so far. Maybe because the Volvo ECMs are so annoying to use standalone...
Check out my 3D Printed Parts for Volvo P2 and P80 on Printables :D

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 »

crasbe wrote: 12 Jan 2026, 16:33 People have put V8s in Teslas, but I don't think anyone used a Volvo engine so far. Maybe because the Volvo ECMs are so annoying to use standalone...
I'm joking, I looked around and bought two brand new body-on-frame with old dumb V8 from Toyota. All set for till my days end.

I may get another P2 for kid #2. #1 gets my XC70 in a few short years. #3 is too far apart, no good Volvo lasts that long, or I'll be too old to overhaul it.

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 »

crasbe wrote: 12 Jan 2026, 14:48 Would you mind sharing some of your insights?
Damien Maguire (known for converting BMWs and lately also Volvos to Electric Vehicles) and myself have been working on reverse engineering the CAN messages on the P2 series, but since we have different generations of cars (he has 2003, I have 2002), it's twice the amount of work without knowing the system behind it.
Edit: Here is the repository with the start of DBC files and some annotated logs: https://github.com/damienmaguire/Volvo- ... ngineering

From what I found out is that the P2 generation used the "Volcano" software to generate the CAN bus IDs and timing. There seems to be some structure in the IDs but I could never really pinpoint it. There always was "oh, this looks like it could be it" and then there's an outlier that broke the structure...
You can get everything you need from VIDA SQL database. I was able to extract everything I needed for my mini-VIDA dash display with a couple of SQL queries: https://github.com/vtl/volvo-ddd Can probably carve my old queries out, at least try to.

Found this repo recently, it seems to be a compilation of a few good sources: https://github.com/Tigo2000/Volvo-VIDA

Post Reply
  • Similar Topics
    Replies
    Views
    Last post