Simp BMS
-
- Posts: 276
- Joined: Sun Jan 03, 2021 6:12 am
- Has thanked: 71 times
- Been thanked: 28 times
Re: Simp BMS
As I continue my fast charging tests, would you say it is expected for the most positive module to be the hottest?
All in series. 1 most negative, 14 most positive.
After charging from 53% to 73%, starting at 125A, but gradually reduced to 85A by the BMS.
All in series. 1 most negative, 14 most positive.
After charging from 53% to 73%, starting at 125A, but gradually reduced to 85A by the BMS.
- tom91
- Posts: 2392
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 206 times
- Been thanked: 563 times
Re: Simp BMS
There is some thing strange going on, on your final module the delta across the module is the largest. Is the cable used there properly fastened?alexbeatle wrote: ↑Mon Nov 04, 2024 5:26 am As I continue my fast charging tests, would you say it is expected for the most positive module to be the hottest?
Due to the way the ribbons run and where the temp sensors are, the temperatures are quite effected by the HV connection to the modules busbars.
-
- Posts: 276
- Joined: Sun Jan 03, 2021 6:12 am
- Has thanked: 71 times
- Been thanked: 28 times
Re: Simp BMS
Thank you. I'd say the connection looks good. That was my first check.
As part of this fast charging test I was aiming for 80% SOC, so this is the first time I've reached balancing levels >3.9V/cell with higher charging current.
So balancing was activated as seen on the snapshot. 14 Tesla 5.3kWh modules (74p6s) = 84 series strings, also seen on the snapshot - so all discovered. Unfortunately, I lost the logs this time, but I do recall my dashboard display reading cellbal.val=82 from bms.
Does that mean we're balancing all but last 2 strings of cells, which incidentally fall into the last module?
I assume, Tesla modules passively balance, by wasting the charging/discharging current via balance resistors (heat) on the cells that need no balancing.
Re: Simp BMS
Hello. Did someone rewrite SimpBMS code for teensy 4.0 successfully and will share it? The hardware issues are less problematic then code for me.
- tom91
- Posts: 2392
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 206 times
- Been thanked: 563 times
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
Re: Simp BMS
I have done Teensy 4.1 version of SimpBMS. It's the BMW & Outlander version which is fork of Tom's BMW variant but I think same modifications work on any version. It just have my custom stuff in it, e-paper display etc code. Haven't tested anything else than CAN1 and working with BMW batteries. Which SimpBMS variant are you after? I could clean it up and share if you want to modify your version by yourself.
Re: Simp BMS
It would be great. It has to work with Outlander battery and charger. I want copy @AOT93 solution described in this topic: viewtopic.php?t=2167 . Here is customized SimpBMS code: https://github.com/aot93/OutlanderPHEVB ... anderBMSV2
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
Re: Simp BMS
Here's a link to quickly converted Teensy 4.1 version of SimpBMS BMWPhevBMS https://github.com/amattila/BMWPhevBMS-Teensy41
Tested that it runs on Teensy 4.1 and with my other custom version I have tested that canbus works. Use at your own risk, as always
Open the project folder with VS Code + PlatformIO.
Tested that it runs on Teensy 4.1 and with my other custom version I have tested that canbus works. Use at your own risk, as always

Open the project folder with VS Code + PlatformIO.
Re: Simp BMS
Thank you. It will save a lot of my time and makes easier PCB projecting, as I was not sure about pin assignment.
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
Re: Simp BMS
I didn’t change any pin numbers, so you need to check what’s there and change those if needed. All depends how you’re going to use it.
-
- Posts: 261
- Joined: Sun Feb 20, 2022 4:23 am
- Location: N. Wiltshire. UK
- Has thanked: 22 times
- Been thanked: 130 times
Re: Simp BMS
In the version I did for Teensy 4.0 I moved OUT5 and OUT6 to pins 3 and 4 as they were on the can bus pins ( 22 and 23 )
Re: Simp BMS
Ok, I'll check pins more carefully. Could you @royhen99 tell something more about your design?
-
- Posts: 261
- Joined: Sun Feb 20, 2022 4:23 am
- Location: N. Wiltshire. UK
- Has thanked: 22 times
- Been thanked: 130 times
Re: Simp BMS
Code was very similar to that posted by mane2. Hardware was Skpang triple can board, just used for Initial testing and balancing of BMW battery pack.
Re: Simp BMS
Well, it looks like very good hardware solution, need just make PCB for input and output protection.
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
Re: Simp BMS
I just got 8 port optocoupler and 8 port relay module as I don't have any experience on making PCBs. Would you mind of sharing your design once it's ready?
Re: Simp BMS
I've just bought Skpang triple can board, so I'll prepare only protection board. My design are rather primitiv and I prefere THT technology, but I don't mind sharing it when it will be done of course.
-
- Posts: 4
- Joined: Wed Jan 15, 2025 7:17 am
Re: Simp BMS
Hey tom91 - Wanted to see if SimpBMS will ever be open source? Or was the license sold to Vero? Because $900 seems VERY steep in price...
If not then is there any current resellers? I am looking for the latest SimpBMS board.
- tom91
- Posts: 2392
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 206 times
- Been thanked: 563 times
Re: Simp BMS
It is. https://github.com/Tom-evnut/TeslaBMSV2EmptyCarts wrote: ↑Thu Jan 16, 2025 1:16 am Hey tom91 - Wanted to see if SimpBMS will ever be open source? Or was the license sold to Vero? Because $900 seems VERY steep in price...
If not then is there any current resellers? I am looking for the latest SimpBMS board.
Hardware is pointless as the Teensy 3.2 is no longer made.
Keep in mind what you are paying for. If you got no skills to debug program or make boards yourself.
Re: Simp BMS
Hi,
Can you please share your protection board design with me also, I will appreciate your help.
I tried to modify TeslaBMS V2 for teensy 4.1 based on mane2 code.
Re: Simp BMS
I'm interpreting CANbus data from my SimpBMS. The manual says that 0x35A Warning should send these Datas:
msg.id = 0x35A;
msg.len = 8;
msg.buf[0] = alarm[0];//High temp Low Voltage | High Voltage
msg.buf[1] = alarm[1]; // High Discharge Current | Low Temperature
msg.buf[2] = alarm[2]; //Internal Failure | High Charge current
msg.buf[3] = alarm[3];// Cell Imbalance
msg.buf[4] = warning[0];//High temp Low Voltage | High Voltage
msg.buf[5] = warning[1];// High Discharge Current | Low Temperature
msg.buf[6] = warning[2];//Internal Failure | High Charge current
msg.buf[7] = warning[3];// Cell Imbalance
Can0.write(msg);
What do I want to do? My Controller expects a LIMIT signal to reduce the output of the system if the BMS signals it has to reduce the discharge output.
My interpretation is that 'Undervoltage' and 'Overtemp' would be the correct Warning Signals to introduce a LIMIT mode of my motor controller. The difference between manual (0.29) and Code TESLABMSV2.ino makes me wonder if I'm correct. Can you answer this, please?
Best regards
Frank
PS: I wrote in another post that I want to rebuild the firmware for SimpBMS myself and modify the data send on Canbus. I skipped this idea and use the standard script for Tesla. A proxy Controller that I use to display information on the dashboard reads all information via Canbus from SimpBMS and finally send it in the required format to my Motor Controller.
But in the TESLABMSV2.ino project I found a more complex definition, that maybe is related to a Victron system I didn't use:msg.id = 0x35A;
msg.len = 8;
msg.buf[0] = alarm[0];//High temp Low Voltage | High Voltage
msg.buf[1] = alarm[1]; // High Discharge Current | Low Temperature
msg.buf[2] = alarm[2]; //Internal Failure | High Charge current
msg.buf[3] = alarm[3];// Cell Imbalance
msg.buf[4] = warning[0];//High temp Low Voltage | High Voltage
msg.buf[5] = warning[1];// High Discharge Current | Low Temperature
msg.buf[6] = warning[2];//Internal Failure | High Charge current
msg.buf[7] = warning[3];// Cell Imbalance
Can0.write(msg);
What do I want to do? My Controller expects a LIMIT signal to reduce the output of the system if the BMS signals it has to reduce the discharge output.
My interpretation is that 'Undervoltage' and 'Overtemp' would be the correct Warning Signals to introduce a LIMIT mode of my motor controller. The difference between manual (0.29) and Code TESLABMSV2.ino makes me wonder if I'm correct. Can you answer this, please?
Best regards
Frank
PS: I wrote in another post that I want to rebuild the firmware for SimpBMS myself and modify the data send on Canbus. I skipped this idea and use the standard script for Tesla. A proxy Controller that I use to display information on the dashboard reads all information via Canbus from SimpBMS and finally send it in the required format to my Motor Controller.
- tom91
- Posts: 2392
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 206 times
- Been thanked: 563 times
Re: Simp BMS
Yes if you use the warning ones and not the alarm ones.
Code: Select all
///warnings///
warning[0] = 0;
if (bms.getHighCellVolt() > (settings.OverVSetpoint - settings.WarnOff))
{
warning[0] = 0x04;
}
if (bms.getLowCellVolt() < (settings.UnderVSetpoint + settings.WarnOff))
{
warning[0] |= 0x10;
}
if (bms.getHighTemperature() > (settings.OverTSetpoint - settings.WarnToff))
{
warning[0] |= 0x40;
}
warning[1] = 0;
if (bms.getLowTemperature() < (settings.UnderTSetpoint + settings.WarnToff))
{
warning[1] = 0x01;
}
}
Re: Simp BMS
That was my approach. Maybe I should add LowTemperature for the Limit specification. But first: TEST.
Thank's a lot for your fast response, the complete definition for 0x35A and the corresponding code snippet.
Have a nice day!
Frank
Re: Simp BMS
Hi mane2,mane2 wrote: ↑Sun Dec 15, 2024 7:08 pm Here's a link to quickly converted Teensy 4.1 version of SimpBMS BMWPhevBMS https://github.com/amattila/BMWPhevBMS-Teensy41
Tested that it runs on Teensy 4.1 and with my other custom version I have tested that canbus works. Use at your own risk, as always
Open the project folder with VS Code + PlatformIO.
Could you please send me the FlexCAN_T4.h library link that you used for your code
The current version has been modified and gives a bunch of errors when I try to compile and upload the code.
I really appreciate your help.
- mane2
- Posts: 251
- Joined: Fri Jan 13, 2023 6:32 am
- Location: Finland
- Has thanked: 40 times
- Been thanked: 41 times
Re: Simp BMS
If you clone the repo, open it with VS Code and have PlatformIO installed, it pulls the required libraries and compiles successfully without any modifications. Just tested.