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?
Vida CEM swapping
-
ghettob
- Posts: 11
- Joined: 12 January 2026
- Year and Model: 2011
- Location: Finland
- Has thanked: 1 time
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
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
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 
-
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
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.Treur wrote: ↑29 Dec 2025, 05:52CEM-B was written by drug addicts, or maybe Indians with their left heels under a bush.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.
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!?
"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 
-
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
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 
-
vtl
- Posts: 4723
- Joined: 16 August 2012
- Year and Model: 2005 XC70
- Location: Boston
- Has thanked: 114 times
- Been thanked: 603 times
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
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.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...
Found this repo recently, it seems to be a compilation of a few good sources: https://github.com/Tigo2000/Volvo-VIDA
-
- Similar Topics
- Replies
- Views
- Last post
-
- 1 Replies
- 6396 Views
-
Last post by RickHaleParker
-
- 5 Replies
- 8644 Views
-
Last post by forumoto






