Hello, can this board also communicate with the BMS of a Kia Niro?
Kia Niro BMS
-
AmeldePamel
- Posts: 4
- Joined: Thu Dec 12, 2024 11:25 am
Re: Kia Niro BMS
Yes. I have a few complete Maxim ISO-SPI dual CAN boards now rather than just the SPI interface. They use an ESP32-C6 and Arduino.AmeldePamel wrote: ↑Fri May 09, 2025 11:23 am Hello, can this board also communicate with the BMS of a Kia Niro?

Re: Kia Niro BMS
For the Maxim ISO BUS connection, yes. These are the 2x twisted pair which forms a daily chain between the modules.
-
AmeldePamel
- Posts: 4
- Joined: Thu Dec 12, 2024 11:25 am
Re: Kia Niro BMS
Thanks Woleg. I was having trouble to get access to this site for a while. I like to continue. Can you telle me what I need to buy and what to do to communicate with this BMS. I would be very happy!
Re: Kia Niro BMS
Hi,
Im currently working on my project with A Peugeot E-208 battery pack. The modules use MAX17854 chips and I use the PCB design from Manny with Arduino pro mini, MAX17841B along with BMS2_7_4.ino code, but I running into a problem where the serial monitor says:
Then transistions into:
Could someone help me figure this out? I have no clue what it could be. Thx in advance!
Im currently working on my project with A Peugeot E-208 battery pack. The modules use MAX17854 chips and I use the PCB design from Manny with Arduino pro mini, MAX17841B along with BMS2_7_4.ino code, but I running into a problem where the serial monitor says:
Code: Select all
errorByte cleared writeAll
transmitQueue WD timeout
2Code: Select all
errorByte cleared writeAll
WRITEALL fail
transmitQueue WD timeout
6- tom91
- Posts: 2753
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 264 times
- Been thanked: 717 times
Re: Kia Niro BMS
Have you configured it for the amount of modules you have connected in the daisychain? Have you ensured you connected it properly? It can literally be anything.
Re: Kia Niro BMS
There's significant differences between the MAX17823 and MAX17845 code due to differences in registers and methods for init and balancing. What is universal is the HELLO_ALL wakeup code so you should see how many modules are being addressed using BMS2_7_4.ino.zuuus wrote: ↑Fri Nov 07, 2025 5:20 pm Hi,
Im currently working on my project with A Peugeot E-208 battery pack. The modules use MAX17854 chips and I use the PCB design from Manny with Arduino pro mini, MAX17841B along with BMS2_7_4.ino code, but I running into a problem where the serial monitor says:Then transistions into:Code: Select all
errorByte cleared writeAll transmitQueue WD timeout 2Could someone help me figure this out? I have no clue what it could be. Thx in advance!Code: Select all
errorByte cleared writeAll WRITEALL fail transmitQueue WD timeout 6
I may be able to help here by sharing a fork of some existing code. Are you using an ESP32 or something else?
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
Please provide more detaila about your setup, number of cells per slave, number of slaves and also the entire serial output. Then I might be able to pin point whats causing this.
Re: Kia Niro BMS
I have currently one module connected which has 6 cells and im using the original wiring harness from the E-208 pack. I have also changed that in the code to my setup. Im using a ATmega328P (5v, 16MHz).
The wiring harness pinout I got was from a document "Manual CMC Devices". In that document are a couple pinout listed for the Tycan, Kona, E-208/E-Corsa and Fiat e600 (See attachment). I tested with a DMM for continuity and all the cables were fine. I connected TXLP/TXLN -> RXLP/RXLN and RXLP/RXLN <- TXLP/TXLN. I think the MAX17854 is powered by the module? Module is fine sitting at 3.6v each cell.
Currently I can't provide all the output from the serial monitor. Monday I'm back at the garage and can provide the full output from the serial monitor. But I can tell that it goes trough the calibration progress fine, but then trying to communicate with the module all fails and gives me errors.
The wiring harness pinout I got was from a document "Manual CMC Devices". In that document are a couple pinout listed for the Tycan, Kona, E-208/E-Corsa and Fiat e600 (See attachment). I tested with a DMM for continuity and all the cables were fine. I connected TXLP/TXLN -> RXLP/RXLN and RXLP/RXLN <- TXLP/TXLN. I think the MAX17854 is powered by the module? Module is fine sitting at 3.6v each cell.
Currently I can't provide all the output from the serial monitor. Monday I'm back at the garage and can provide the full output from the serial monitor. But I can tell that it goes trough the calibration progress fine, but then trying to communicate with the module all fails and gives me errors.
- Attachments
-
Manual CMC Devices-3.pdf- (1.82 MiB) Downloaded 10 times
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
Ok, when you can, please post full serial output and also the code that you are runing.
Re: Kia Niro BMS
Got the full Serial Monitor output below. I have stopped it at the end because it keeps going forever outputting the same data
- Attachments
-
- BMS2_7_4_1.ino
- (50.27 KiB) Downloaded 1 time
-
- Serial_Monitor_outputs.txt
- (8.09 KiB) Downloaded 4 times
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
Yes, it's the start of the output that is interesting in this case.
From serial output:
"Daisy chain init
UARTSlaveDevicesWakeUp WD timeout"
Searching the code this is only set at one place, during step #5 of the slave init. This is the first time the SW wait for a reply from the slaves so this indicated that the physical slave connection/communication is the first place to start searching for faults.
Have you connected the top tx lines back to the top rx lines? Can you post a photo of your hw setup/wiring?
EDIT:
Also note that there are errors in the code that will need to på rectified to get correct voltage output from the sw. Can be done later but be aware.
From serial output:
"Daisy chain init
UARTSlaveDevicesWakeUp WD timeout"
Searching the code this is only set at one place, during step #5 of the slave init. This is the first time the SW wait for a reply from the slaves so this indicated that the physical slave connection/communication is the first place to start searching for faults.
Have you connected the top tx lines back to the top rx lines? Can you post a photo of your hw setup/wiring?
EDIT:
Also note that there are errors in the code that will need to på rectified to get correct voltage output from the sw. Can be done later but be aware.
Re: Kia Niro BMS
Thank you, I will look at my wiring for RX and TX. My test setup is only minimal with the BMS PCB, original harness wiring from the E-208 pack and the module self. PCB is powered at 5V with a DC power supply. (The same setup I ran the code on, nothing has changed)
Where did you get that figure from? Is it from the datasheet of the MAX17841B?
Where did you get that figure from? Is it from the datasheet of the MAX17841B?
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
If understand correctly you are using the original cables but only one slave module connected, without modifications to the cabling? That will result in no rx-tx top loop. You would need to to a loop-back where the next module where do be connected. Or connect all slave modules as per original wiring.
Or have you already made this modification and there is another error?
Yes, picture is from MAX17841B datasheet, page 9.
Or have you already made this modification and there is another error?
Yes, picture is from MAX17841B datasheet, page 9.
Re: Kia Niro BMS
Is my circuit for the MAX17841B chip correct? On page 1 of this tread there was a PDF document linked by you named "BMS.pdf". And your circuit is different than mine. Im using Manny's PCB listed on page 5 of this tread. I did a loop-back as listed in the "CMC devices" document attached to a earlier post of mine, is that way correct? I still haven't got it working.
Im using all original OEM cables without modifications to the cabling.
Im using all original OEM cables without modifications to the cabling.
- manny
- Posts: 164
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 38 times
- Been thanked: 125 times
Re: Kia Niro BMS
To use the code with one module you will need to change the number of modules in the code.
The wiring needs to be looped. If my notes are correct.
If you connect the module to the first connector on the chain. Than in the second connector you will need to link. pin 1 and 9 (white and green) and pin 2 and 7 (brown and yellow).
Good luck.
The wiring needs to be looped. If my notes are correct.
If you connect the module to the first connector on the chain. Than in the second connector you will need to link. pin 1 and 9 (white and green) and pin 2 and 7 (brown and yellow).
Good luck.
[DRIVING] Citroen Saxo electrique
- Volvo ERAD motor, XC90 inverter/DCDC (custom OI board)
- PSA battery (50kWh)
- Foccci and MG ZS charger 6.6kW
- Zombie VCU
Re: Kia Niro BMS
Unfortunately still no data and the same Serial output with the same errorByte. Also tested on another module of the pack and that also didn't work
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
The BMS.pdf was my first attempt and is incorrect. A bit further down in the thread you will find BMS_5.pdf, that is what I use for all my bms:es. The difference is you use 10nF and I use 1nF to gnd on the center taps on the transformers. Also I use 1,5k where you use 470R on rx lines. Don't think this is the main concern right now.
How have you done the loop-back? Please take close-up pictures.
Also, is the pink wire broken or is it just a funny angle?
How have you done the loop-back? Please take close-up pictures.
Also, is the pink wire broken or is it just a funny angle?
Re: Kia Niro BMS
Yes I have done a loop-back and wired it to the BMS like Manny said, the pink wire is just at a funny angle
Ignore yellow wire on BMS PCB, that just for resetting MAX17841B chip
Ignore yellow wire on BMS PCB, that just for resetting MAX17841B chip
- bexander
- Posts: 883
- Joined: Tue Jun 16, 2020 6:00 pm
- Location: Gothenburg, Sweden
- Has thanked: 75 times
- Been thanked: 98 times
Re: Kia Niro BMS
To me it looks like your pinout for the loop-back is wrong?
From the CMC documentation: And looking at your loop-back: Seem like loop-back is connected from pin1 to pin9 and pin2 to pin7?
From the CMC documentation: And looking at your loop-back: Seem like loop-back is connected from pin1 to pin9 and pin2 to pin7?
- tom91
- Posts: 2753
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 264 times
- Been thanked: 717 times
Re: Kia Niro BMS
I used the info in this thread to wire my E208 modules for dev work on the M3MAX bms
https://openinverter.org/forum/viewtopic.php?t=2465
Do not get confused by the connector orientations.
I based my software off of BMS_test_OI.ino found here on the forums somewhere.
https://openinverter.org/forum/viewtopic.php?t=2465
Do not get confused by the connector orientations.
I based my software off of BMS_test_OI.ino found here on the forums somewhere.
- manny
- Posts: 164
- Joined: Sun Jan 23, 2022 4:15 pm
- Location: Netherlands
- Has thanked: 38 times
- Been thanked: 125 times
Re: Kia Niro BMS
It's hard to see, but are D1 and D2 the right way round?
the cathode (line side) should be on the side of the transformers.
and if you can scope the pins that connect to the transformers.
the cathode (line side) should be on the side of the transformers.
and if you can scope the pins that connect to the transformers.
[DRIVING] Citroen Saxo electrique
- Volvo ERAD motor, XC90 inverter/DCDC (custom OI board)
- PSA battery (50kWh)
- Foccci and MG ZS charger 6.6kW
- Zombie VCU