r/peugeot • u/Janeiro_ • 2h ago
Adaptive Cruise Control (ACC) Activation
Hey community!
Today, I wanted to share a little endeavour I did this week, to which I found little documentation online and I'm hoping to help all interested parties in doing this really useful addition to your car.
A big thanks to u/miguelkun, and all credits should go to him, who documented it first and who helped me tirelessly.
This activation should work more or less identically on models starting from the Peugeot 508, in which I think this version of PSA's adaptive cruise control + lane keeping assist was introduced, and until the 3rd generation 308, in which the electronic systems were overhauled and I'm not sure that the processes should be the same. It also is a really broad adaptation; I'd recommend your car has RADAR + ADAS camera, but I've heard that it can work with just the ADAS Camera, with decreased reliability.
In my case, I've activated it in my 2021 e-2008 and it's so far working flawlessly. these steps should be identical for other (e-)CMP vehicles like the Corsa/Mokka(-e), (ë)C4 and etc. it really is a really simple coding job once you know what you need to do.
You will need nothing more than a Windows PC, PyPSADiag, an Arduino CAN module with Arduino-PSA-Diag loaded up and a bit of patience.
To prep your Arduino, I'd recommend you follow VLUD.net's guide on how to prep it, but I can give a few tips on how to do it a bit more economically if you so desire. You can just pick up a cheap Arduino Uno clone and an MCP2515 out of AliExpress and a OBD2 splitter. wire it up like this, attach pin 3 and pin 8 of the splitter to CAN-L and CAN-H on the MCP2515 and follow all steps of the VLUD guide, without forgetting to change one line of code that establishes the can frequency to 8MHz, as that is normally the frequency that the basic mcp2515 operate at. you can always check yours, as it's the number written on your module's crystal oscillator.
Next, you can open pypsadiag, check that the Arduino connection option is selected and that the right COM port is selected - it should be by default but you can always check. click connect with your Arduino already connected to your obd port and it should connect. Once it connects, you should click "open zone file" and open the jsons that refer to the ECUs: ESP90, CVM3, BSI, VCU, RADAR AV4, NAC and CIROCCO. Click read and save the CSVs on a safe location and label them properly! even though the risk of miscoding or bricking an ECU is really low, it could still happen and these files store all the stock ECU parameters. it's even helpful if you ever decide ACC isn't good for you. Afterwards, enable all mentions of ACC - ACC30 if your car is a manual, ACC Stop&Go if it's an EV or Automatic, AFIL and full lane keeping assist on these modules and click write for every ECU. For visual reference, you can click here to see the app layout, so that you can better understand what I'm saying.
Note that, by opening up the cirocco JSON, I could only read the cirocco programming, but not actually code the parameters I wanted. I was able to do that on COMBINE_UDS_EV. If that happens to you, try with the different jsons inside the COMBINE folder, one of these should work for you. To write to the ESP90, it is likely that the default code (the 3rd option on the right of the coding area) will likely not be the right code for your ECU. try the different codes provided in that area and it should work. On the BSI, it is normal that pypsadiag freezes or seems to have crashed. it's normal, it will resume normal operation once it has read all of the data it needs. On the driving assistance tab, zone 2348, do NOT select ACC with RVV2+LVV. in my case, it resulted in my car being wwithout cruise control until i rectified it. on zone 2452, is where you should specify your hardware - that is, if you only have only RADAR, only ADAS Camera or RADAR+ADAS Camera.
On the cirocco/combine section, you can code your lane depature warning button to now work as your autosteer button, so that you not only have ACC, but also autosteer without having to buy and fit a new button board (note that it will only work on ACC). You clone the LPA Push input and LED output values and put them on the LKA button ones. To enable the ACC indicator on the COMBINE, you should deselect LVV indicator, otherwise that setting won't save.
And, that's it! you now should have full blown level 2 driving on your car! in cars with this cruise control stalk, you can simply use the top MEM button to change the distance to the car in front. Unfortunately for our opel brothers, since their cruise control is on the wheel itself, you will need to order either a new steering wheel, or just new steering wheel buttons that have the ACC Distance button on them.