diy solar

diy solar

JK-BMS-CAN with new Cut-Off Charging Logic (open-source)

@MrPablo, @Der_Hannes, @Sleeper85: on a separate note, I'd appreciate if you could update the GitHub page a bit in terms of configuration.

Instead of just this
View attachment 204511

Maybe make it a Table since there is quite a bit of configuration that is inverter-specific
BrandModelStatusReported byInverter ConfigurationCAN Protocol ESP32CAN Name ESP32Remarks
DeyeSUN-6k-SG03LP1-EUWorkingSleeper85Lithium 00?????????
DeyeSUN-5k-SG03LP1-EUWorkingvdiexLithium 00?????????
DeyeSUN-12K-SG04LP3-EUWorkinglucizeLithium 00?????????
...
This is on the list to do, but as you can probably appreciate, life gets in the way.
If you want, please feel free to submit a pull request with the requested changes to the readme. We can then review and merge if appropriate.
 
OK I'm trying to debug with another 10m cable of the same type ... and the CANOpen Pro USB Adapter on the Laptop (Ubuntu Linux).

So the shematic would be:
Laptop Ubuntu Linux <--> CANOpen Pro USB Adapter <--> 30cm twisted wires 0.5mm2 <-> RJ45 Breakout board <--> 10m Cat6 Cable S/FTP (probably AWG 27, not specified) <--> RJ45 Breakout Board <--> 30cm somewhat twisted wires 0.5mm2 <--> CANBUS UNIT (CA-IS3050G) <--> Atom S3 Lite

Code:
Bash:
#!/bin/bash

# Define interface
interface="can0"

# Force interface down
ip link set down $interface

# Wait a bit
sleep 1

# (Re)configure Interface
ip link set $interface type can bitrate 500000 restart-ms 1500

# Wait a bit
sleep 1

# Bring interface up
ip link set up $interface

# Wait a bit
sleep 1

# Sniff CAN traffic
cansniffer -c $interface

Nothing seems to be happening ...
So this is what I tried besides it:
- Use Raspberry Pi 5V/3A Power Supply
- Use a 0.25m Cat6 Cable S/FTP instead of 10m
- Monitor MQTT messages since i will not be able to monitor USB/Serial since it's plugged in the Raspberry Pi Power Supply 5V/3A
Bash:
#!/bin/bash

mosquitto_sub -h 192.168.4.10 -v -d -t 'jk-bms-bat02/debug' | grep -i "send can id"

Still no joy.
I tried all combinations of GPIO at the moment ...
YAML:
# +--------------------------------------+
# | ESP32 CAN port pins                  |
# +--------------------------------------+
  # GPIO pins your CAN bus transceiver (TJA1050, TJA1051T or SN65HVD230) is connected to the ESP, note! TX->TX and RX->RX.
  # Old: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/atom/atom_can -> CAN_TX = GPIO22, CAN_RX = GPIO19
  # New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17
  # Final: Refer to Sleeper85 GitHub Repository -> https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lit>
  #can_tx_pin: GPIO17 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO16 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO16 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO17 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO5 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_rx_pin: GPIO6 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  can_tx_pin: GPIO6 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32>
  can_rx_pin: GPIO5 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32>
 
I think the very first thing I will try is to change the CAN settings in the ESP32.

Not sure why @Sleeper85 or @MrPablo have CAN_TX = GPIO5 and CAN_RX = GPIO6 in https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32-s3.yaml for the Atom S3 Lite.

If you look at the M5Stack it's written RXD = GPIO16 , TXD = GPIO17:
# New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17

So I have this at the moment in my configuration https://github.com/luckylinux/jk-bm...main/esphome-jk-bms-can/esp32-ble-1.17.4.yaml
YAML:
# +--------------------------------------+
# | ESP32 CAN port pins                  |
# +--------------------------------------+
  # GPIO pins your CAN bus transceiver (TJA1050, TJA1051T or SN65HVD230) is connected to the ESP, note! TX->TX and RX->RX.
  # Old: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/atom/atom_can -> CAN_TX = GPIO22, CAN_RX = GPIO19
  # New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17
  # Final: Refer to Sleeper85 GitHub Repository -> https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32-s3.yaml
  #can_tx_pin: GPIO17 # According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO16 # According to https://docs.m5stack.com/en/unit/can
  can_tx_pin: GPIO5 # According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32-s3.yaml
  can_rx_pin: GPIO6 # According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32-s3.yaml

But I think I will try with GPIO16 and GPIO17 now that absolutely nothing is happening.

Although it's true that GPIO16 and GPIO17 are not even listed on the Atom S3 Lite itself ...
View attachment 204504

An easy fix will be to upgrade USB cable & Power Supply -> Let's just try with a Raspberry Pi 5V/3A power adapter.

I'll also try, with the same cable and another CAN adapter (CANable Pro), to sniff the traffic, to see if there is something really going on here.
With the can-utils package on Linux, I should be able to do
Bash:
cansniffer -c can0

EDIT 1: The cable I used must also be quite "low-cost". It is "Cat 6 S/FTP" etc. but no AWG indicated. Probably AWG 27 or AWG 28 or something.

I guess the difference with Ethernet is that the wire resistance plays a much bigger role in CANbus ? I have seen CANbus cablers ($$$$) AWG 22 or AWG 24. In shops, AWG 26 is the best you can buy for Cat 6 etc. Example

But even AWG 27 Aluminum (assuming CCA) the resistance should be peanuts ...
View attachment 204506

EDIT 2: The BMS CAN Pinout on the Deye SUN-12K-SG04LP3-EU seems correct, Pin 4 & 5 ...
View attachment 204508
Which CAN base are you using?
The one referenced in your link is not the one recommended as it precludes any wired connection to the BMS.
This is the one recommended:

These are the relevant pins used per Atom model.
1711356017791.png

If you have the other CAN transceiver then yes, the GPIO assignment will need to be changed.
 
Which CAN base are you using?
The one referenced in your link is not the one recommended as it precludes any wired connection to the BMS.
This is the one recommended:

These are the relevant pins used per Atom model.
View attachment 204517

If you have the other CAN transceiver then yes, the GPIO assignment will need to be changed.

Reading this:

https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit -> AtomS3 Lite ESP32S3 Dev Kit (SKU: C124)
https://shop.m5stack.com/products/atomic-canbus-base-ca-is3050g -> ATOMIC CANBus Base (CA-IS3050G) SKU: A103

But A103 is NOT stated as isolated and cannot be sourced from Digikey or Mouser (not in stock). How would I even be supposed to connect the A103 to the Atom S3 Lite ???

EDIT: that's why I went with U805 instead (avalability, and it connects using that 4 pin compact header): https://shop.m5stack.com/products/canbus-unitca-is3050g
 
DUH ... Reading ON the Atom S3 Lite, excluding 5V and GND, the other are GPIO1 and GPIO2 (bottom of picture) ...

1711357014849.png

EDIT:
@MrPablo: fair point that i didn't buy the recommended CAN module, but the one recommended cannot be bought anywhere (I only checked Mouser and Digikey, maybe other distributors exist ...).

Maybe on Mouser in a month time !
 
Last edited:
DUH ... Reading ON the Atom S3 Lite, excluding 5V and GND, the other are GPIO1 and GPIO2 (bottom of picture) ...

View attachment 204518

EDIT:
@MrPablo: fair point that i didn't buy the recommended CAN module, but the one recommended cannot be bought anywhere (I only checked Mouser and Digikey, maybe other distributors exist ...).

Maybe on Mouser in a month time !
Yes, I've been looking at getting that base to use with some of my non-S3 atoms, but it looks like AliExpress is the least expensive option for a standalone base.
 
Yes, I've been looking at getting that base to use with some of my non-S3 atoms, but it looks like AliExpress is the least expensive option for a standalone base.
Now with pin 1 & pin 2 it won't work at all. Cannot even build ...

Relevant part of the configuration yml
YAML:
# +--------------------------------------+
# | ESP32 CAN port pins                  |
# +--------------------------------------+
  # GPIO pins your CAN bus transceiver (TJA1050, TJA1051T or SN65HVD230) is connected to the ESP, note! TX->TX and RX->RX.
  # Old: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/atom/atom_can -> CAN_TX = GPIO22, CAN_RX = GPIO19
  # New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17
  # Final: Refer to Sleeper85 GitHub Repository -> https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lit>
  #can_tx_pin: GPIO17 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO16 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO16 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO17 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO5 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_rx_pin: GPIO6 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_tx_pin: GPIO6 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  #can_rx_pin: GPIO5 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  can_tx_pin: GPIO1 # According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/products/atoms3-lite-esp>
  can_rx_pin: GPIO2 # According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/products/atoms3-lite-esp>

Code:
INFO ESPHome 2024.3.0
INFO Reading configuration esp32-ble-1.17.4.yaml...
INFO Updating https://github.com/syssi/esphome-jk-bms.git@main
INFO Detected timezone 'Europe/Copenhagen'
Failed config

output.gpio: [source esp32-ble-1.17.4.yaml:274]
 
  Pin 2 is used in multiple places.
  platform: gpio
  pin:
    number: 2
    mode:
      output: True
      input: False
      open_drain: False
      pullup: False
      pulldown: False
    inverted: False
    ignore_strapping_warning: False
    drive_strength: 20.0
  id: led
  inverted: True
canbus.esp32_can: [source esp32-ble-1.17.4.yaml:1010]
 
  Pin 2 is used in multiple places.
  platform: esp32_can
  tx_pin: 1
  rx_pin: 2
  can_id: 4
  bit_rate: 500KBPS
  on_frame:
    - can_id: 773
      then:
        - light.toggle:
            id: blue_led
        - lambda: !lambda |-
            id(can_ack_counter) = 0;                              // Reset ACK counter
            id(can_bus_status).publish_state(true);               // Set CANBUS Status to ON
            ESP_LOGI("main", "received can id: 0x305 ACK");
      can_id_mask: 536870911
      use_extended_id: False
  use_extended_id: False
 
Reading this:

https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit -> AtomS3 Lite ESP32S3 Dev Kit (SKU: C124)
https://shop.m5stack.com/products/atomic-canbus-base-ca-is3050g -> ATOMIC CANBus Base (CA-IS3050G) SKU: A103

But A103 is NOT stated as isolated and cannot be sourced from Digikey or Mouser (not in stock). How would I even be supposed to connect the A103 to the Atom S3 Lite ???

EDIT: that's why I went with U805 instead (avalability, and it connects using that 4 pin compact header): https://shop.m5stack.com/products/canbus-unitca-is3050g
also reading ON the CAN BUS ISOLATION ;-)
1711357916632.png
 
Now with pin 1 & pin 2 it won't work at all. Cannot even build ...

Relevant part of the configuration yml
YAML:
# +--------------------------------------+
# | ESP32 CAN port pins                  |
# +--------------------------------------+
  # GPIO pins your CAN bus transceiver (TJA1050, TJA1051T or SN65HVD230) is connected to the ESP, note! TX->TX and RX->RX.
  # Old: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/atom/atom_can -> CAN_TX = GPIO22, CAN_RX = GPIO19
  # New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17
  # Final: Refer to Sleeper85 GitHub Repository -> https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lit>
  #can_tx_pin: GPIO17 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO16 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO16 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO17 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO5 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_rx_pin: GPIO6 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_tx_pin: GPIO6 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  #can_rx_pin: GPIO5 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  can_tx_pin: GPIO1 # According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/products/atoms3-lite-esp>
  can_rx_pin: GPIO2 # According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/products/atoms3-lite-esp>

Code:
INFO ESPHome 2024.3.0
INFO Reading configuration esp32-ble-1.17.4.yaml...
INFO Updating https://github.com/syssi/esphome-jk-bms.git@main
INFO Detected timezone 'Europe/Copenhagen'
Failed config

output.gpio: [source esp32-ble-1.17.4.yaml:274]
 
  Pin 2 is used in multiple places.
  platform: gpio
  pin:
    number: 2
    mode:
      output: True
      input: False
      open_drain: False
      pullup: False
      pulldown: False
    inverted: False
    ignore_strapping_warning: False
    drive_strength: 20.0
  id: led
  inverted: True
canbus.esp32_can: [source esp32-ble-1.17.4.yaml:1010]
 
  Pin 2 is used in multiple places.
  platform: esp32_can
  tx_pin: 1
  rx_pin: 2
  can_id: 4
  bit_rate: 500KBPS
  on_frame:
    - can_id: 773
      then:
        - light.toggle:
            id: blue_led
        - lambda: !lambda |-
            id(can_ack_counter) = 0;                              // Reset ACK counter
            id(can_bus_status).publish_state(true);               // Set CANBUS Status to ON
            ESP_LOGI("main", "received can id: 0x305 ACK");
      can_id_mask: 536870911
      use_extended_id: False
  use_extended_id: False
Can you attach your YAML (I'm having some sort of flashback here) and we can review?
 
Can you attach your YAML (I'm having some sort of flashback here) and we can review?
Sure.

Here it is.

Also the "secrets.yaml" file (redacted for the "real" secrets, other parameters were left "as it is"):
YAML:
host_name: jk-bms-bat02

wifi_ssid: MY_WIFI_SSID
wifi_password: MY_WIFI_PASSWORD
wifi_domain: .solar.MYDOMAIN.TLD

jk_mac_address: C8:47:8C:E5:98:96
jk_protocol: JK02_24S

project_name: Sleeper85.esphome-jk-bms-can
project_version: 1.17.4

board: esp32-s3-devkitc-1

ota_password: MY_OTA_PASSWORD

web_server_username: MY_WEBSERVER_USER
web_server_password: MY_WEBSERVER_PASSWORD

mqtt_host: 172.22.1.1
mqtt_port: 1883
mqtt_username: ""
mqtt_password: ""

Also attached the build script which sets the {{board}} and {{variant}} parameters that couldn't be set as "secret".
 

Attachments

  • esp32-ble-1.17.4.yaml.txt
    89.8 KB · Views: 1
  • build_esphome_jk_bms_can.sh.txt
    2 KB · Views: 0
the conflict is caused due to GPIO2 is assigned to the LED by default
see issue and suggestion here: https://github.com/Sleeper85/esphome-jk-bms-can/issues/27

Need to assign another pin to the LED (for example GPIO35)
Alright ... Not even sure what the LED does, nothing lights up in my case when I toggled it on the webserver previously ...

I set this according to your link (thanks !)
YAML:
output:
  - platform: gpio
    pin: 35
    id: led
    inverted: true

I don't think it will do anything in my case, but it wasn't doing anything before either.

@MrPablo: I am building now with this change (in this current post) implemented ... That is NOT reflected in the files I uploaded a few minutes ago !
 
EDIT. maybe GPIO35 is not a great idea on the Atom S3 Lite ...

Code:
WARNING GPIO35 is used by the PSRAM interface on ESP32-S3R8 / ESP32-S3R8V and should be avoided on these models

Maybe GPIO38 which is exposed on the Atom S3 Lite instead ?

Messing with PSRAM seems a bad idea after all ...
 
OK I think I need to swap GPIO1 and GPIO2 ... Nothing is happening even though the ESP32 is sending some CAN messages ...
 
Alright ... Not even sure what the LED does, nothing lights up in my case when I toggled it on the webserver previously ...
for the esp32doit-devkit-v1 the blue onboard LED will state the CAN bus activity and this LED is connected to GPIO2

The Atom S3 does not have any configurable onboard LED, and the lite does have one but it is an RGB LED and not yet implemented (but will be on the new release)
 
for the esp32doit-devkit-v1 the blue onboard LED will state the CAN bus activity and this LED is connected to GPIO2

The Atom S3 does not have any configurable onboard LED, and the lite does have one but it is an RGB LED and not yet implemented (but will be on the new release)
Alright ... Now cansniffer is dumping something. This is promising (FINALLY !)

Code:
63|ms | ID  | data ...     < can0 # l=20 h=100 t=500 slots=6 >
99999 | 351 | 27 02 42 02 08 07 D0 01 '.B.....
99999 | 355 | 33 00 63 00 EC 13 96 05 3.c.....
99999 | 356 | FD 14 ED 01 B6 00 2C 00 ......,.
99999 | 359 | 00 00 00 00 03 00 00 00 ........
99999 | 35E | 50 59 4C 4F 4E 20 20 20 PYLON
99999 | 379 | 18 01 00 00 00 00 00 00 ........

Now moving back to inverter and 10m cable ...

EDIT 1:

Maybe I'll need to swap Pin 4 & Pin 5 on the RJ45 again .. Let's see.

For those wondering this is my configuration now for CAN pinout:
YAML:
# +--------------------------------------+
# | ESP32 CAN port pins                  |
# +--------------------------------------+
  # GPIO pins your CAN bus transceiver (TJA1050, TJA1051T or SN65HVD230) is connected to the ESP, note! TX->TX and RX->RX.
  # Old: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/atom/atom_can -> CAN_TX = GPIO22, CAN_RX = GPIO19
  # New: Atom S3 Lite + CAN Hat -> Refer to https://docs.m5stack.com/en/unit/can -> RXD = GPIO16 , TXD = GPIO17
  # Final: Refer to Sleeper85 GitHub Repository -> https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lit>
  #can_tx_pin: GPIO17 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO16 # DIRECT According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO16 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_rx_pin: GPIO17 # REVERSED According to https://docs.m5stack.com/en/unit/can
  #can_tx_pin: GPIO5 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_rx_pin: GPIO6 # DIRECT According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp32->
  #can_tx_pin: GPIO6 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  #can_rx_pin: GPIO5 # REVERSED According to https://github.com/Sleeper85/esphome-jk-bms-can/blob/main/config/config_atom-s3-lite-esp3>
  #can_tx_pin: GPIO1 # First Attempt - cansniffer doesn't dump anything - According to what is displayed on the face of the ATOM S3 Li>
  #can_rx_pin: GPIO2 # First Attempt - cansniffer doesn't dump anything - According to what is displayed on the face of the ATOM S3 Li>
  can_tx_pin: GPIO2 # Second Attempt - cansniffer is successfully dumping some CAN frames - According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/product>
  can_rx_pin: GPIO1 # Second Attempt - cansniffer is successfully dumping some CAN frames - According to what is displayed on the face of the ATOM S3 Lite https://shop.m5stack.com/product>

EDIT 2: Reversed Pin 4 & Pin 5. Now CANbus is reporting status OK.
1711360056705.png

Inverter is reporting "Normal" now.
1711360139185.png

And finally some lithium information on the inverter as well
1711360205365.png

And some information in case somebody else is facing the same issue with this module ...
1711360296980.png

1711360316772.png

Note that the RJ45 pin/locking tab is sticking "UP".

CAN_H -> Red
CAN_L -> White

Not sure if these are the correct colors but this is what I have and works now. FINALLY.

Stupid me using the wrong pinout. But IMHO this should be included in the documentation @MrPablo ;) .

EDIT 2: This is the RJ45 Breakout adapter I am using, in case other people are interested. It's not that expensive IMHO
 
Last edited:
Maybe I made the charge control WAY to aggressive
1711360648904.png

Keep in mind that the 180A (or around 60A now) are for 2 batteries ....
 
Something is very wrong.
I have 2 entities in MQTT and I disabled what I believe was the old one (which had some activity, but is the wrong/old ESP32 board, NOT the ESP32s3):
1711361448078.png

Item number 2 is disabled.

1711361489337.png

Now only 9 cell are being reported.

What is going on ?

Do I really need 2 MQTT devices for the same physical device ?

EDIT 1: Might be something temporary after i disabled item number 2. Re-enabled and Re-disabled item number 2. Now all 16 cells are back in frontend. Weird ...
 
DUH ... Reading ON the Atom S3 Lite, excluding 5V and GND, the other are GPIO1 and GPIO2 (bottom of picture) ...

View attachment 204518

EDIT:
@MrPablo: fair point that i didn't buy the recommended CAN module, but the one recommended cannot be bought anywhere (I only checked Mouser and Digikey, maybe other distributors exist ...).

Maybe on Mouser in a month time !
Got mine from here:
 
Back
Top