You are here

VESC Maxim 150 changes CAN-Baudrate to default on every start

4 posts / 0 new
Last post
Jannik Steiner
Offline
Last seen: 37 min 31 sec ago
VESC Free
Joined: 2026-07-09 21:59
Posts: 3
VESC Maxim 150 changes CAN-Baudrate to default on every start

Hi everyone,

I am currently trying to implement a VESC Maxim 150 into a light Electric Vehicle. It uses a 32s Battery Setup and has an 18kW Peak Motor, so the Maxim 150 is the perfect choice to replace the original Inverter.

Right now I am in the testing Phase, the wheels are Spinning but the Vesc is only controlled via the app, or with my PC and VESC Tool.
My Plan is to use the existing CANbus of the Vehicle (125kBit - DBC is known), and program a LispBM script that receives CAN Messages and controls the Vesc via current Signals.

However, I cannot get the vesc to keep 125kbit. 
In my understanding (correct me if I´m wrong) the Maxim uses 2 internal CPUs. The ESP32 is used to connect via USB and is basically the co-Processor, and the STM32 is the main processor that controls the Inverter part, right?

When I use the Setting that can be found in "VESC Dev Tools -->CAN Tools-->Update CAN Baudrate-->Start update" It should update the Baudrate on all connected devices. This indeed works, and with my Peak-CANUsb, I can see CAN Frames with 125kBit. But after a Restart, I only see can Messages when I look for 500kBit Signals. In Addition to that, Vesc tool can only find the ESP but not the STM. I Think that the ESP keeps its 125kbit, and the STM switches back to 500, thats why the Tool only shows the ESP, not the STM.

The same Thing happens when I try to Change the Baudrate via "App Settings-->General-->CAN Baudrate" for the STM, and Via Vesc Express for the ESP. After a Restart, It sends at 500 again.

When I change the ESP back to 500, it recognizes the STM.

 

Is there anything I am missing? Do I need to implement some Kind of script, that changes the can Baudrate on every start?

Thank you for your help!

electricfox
electricfox's picture
Offline
Last seen: 33 min 5 sec ago
VESC Original
Joined: 2019-01-01 17:11
Posts: 168

That sounds strange. Usually it should stay at the correct Baud rate, like you did correctly in VESC Dev Tools. Are you on Firmware 7.00? Go to Firmware -> Download  latest -> Update firmware on the connected VESC (arrow down button). Do that for both Express and STM. Try again to change the baud rate. 

Jannik Steiner
Offline
Last seen: 37 min 31 sec ago
VESC Free
Joined: 2026-07-09 21:59
Posts: 3

I tried that, the Vesc express was still running on FW6.06.

But after updating it to 7.0 (And reflashing the STM to 7.0 just to be sure), I still have the same behavior.

I documented this behavior in this small 3min Video: https://youtu.be/2m9Eaw0ULTg

Jannik Steiner
Offline
Last seen: 37 min 31 sec ago
VESC Free
Joined: 2026-07-09 21:59
Posts: 3

I found a (really dirty) workaround... When I set the Baudrate to 125k via LispBM, then the STM is found after a reboot. The only problem: During the baudrate-Change, it "shoots down" the entire CAN of the vehicle.

If I cannot find a better solution, I will need to implement some kind of relay, that connects the VESC to can, only when it is fully booted, and the baudrate change is complete. But I think that´s a really bad solution for this problem.

 

Did anybody else experience similar issues?