DIYBMS v4

yeah this is exact the solution i did aswell xD
i use a daly BMS for doing that work.

the only thing i didnt manage to work is the intigration of the DIY BMS into influxdb to monitor via graphana. im not into that stuff =/

i want to do the same how exactly you can create a bin file with PlatformIO ? i read if you press upload it will be created but where can i find the file ? i used the pre compiled version i found somewhere in the net

it will be in the folder you have open in platform io

mine is in C:\diyBMSv4Code-HistoricData\ESPController.pio\build\

but i have a problem with the latest controller code, it compiles and writes fine in platform io it goes to AP mode i type in http://192.168.4.1 it then goes to 192.168.4.1/softap.htm but then shows error on webpage not allowing me to put in my ssid and password.

ive also got the bin file and used nodemcuflasher to put it on whilst erasing flash same thingā€¦ if i upload the original diybsm controler (not original but the 2nd one with the CRC checks ectā€¦ then that works fine i can put in my ssid and such and it reboots with a new ip address on my network.

  1. Run your PlatformIO and ā€œImport Arduino Projectā€.
  2. Look for the path to the folder and import it.
  3. Select ā€œplatformio.iniā€.
  4. Hit ā€œBuildā€.
  5. You can see the path and the fact that .bin was made.
  6. Thatā€™s the path to the .bin file of the project.

2 Likes

Donā€™t use the historic data branch from GitHub, it doesnā€™t work!

ive used the master branch of code and it says Latest commit on 20 Mar, the one in the history says last updated 2 days ago, which one has the fixed mqtt code on as it only counts upto cell 11 3 are missing everytime it publishes.

master is oldā€¦ but works
history doesnt work
and balance power also doesnt work

All the non master branches are work in progress, at some points in time the branches contain test code or missing features.

Master is always the right one to use. I will update master when Iā€™m happy a feature is behaving.

1 Like

@stuart Does the current 4.2 master branch have the fix for the temperature sensor/resistor being in the wrong places (are they now in the right place) and was the software updated to handle the correction to layout? I need to order some more boards but might as well get the ones with the correct layout rather than order the same ones as I currently have.

Yes - just make sure the silkscreen says version 4.21 when you order them

@stuart you think that will be easy to add to your code (wemos) a part that will push the voltage of the connected cells to an OLED I2C display for an quick offline visualisation?

I play this days with an esp32 and some voltage divider but the ADC part of the esp32 is not so grate, my voltages are all over the place and the last 3 cells are acting really strange, Iā€™m not good at all with code part.

Thatā€™s very neat. I doubt the esp8266 will have enough CPU left for a display, but the esp32 should.

At the moment the controller needs some rework to expose the SPI bus so a display can then be used.

1 Like

That will be great, you can get rid of the 8574 is you upgrade to ESP32, are crazy cheap for the processing power.

I play with an SPI TFT display also but even that is 160*128 I donā€™t like it at all ( the viewing angles are terrible ), I prefer the smaller OLED.

For what you want to use SPI?

Thermistor part

Manufacturer: Murata Electronics
MFR.Part #NCP18WB473J03RB
LCSC Part # C86142
Package: 0603
Description: NTC THERMISTORS 1/10W 47KOHMS Ā±5% 4050K 0603 ROHS

https://jlcpcb.com/parts/componentSearch?searchTxt=NCP18WB473J03RB

is now showing 0 in stock, so Iā€™ll have to wait a while before ordering my next batch.

Check the jlcpcb branch, I swapped out that part for one in stock

Finally managed to flash the boards.
All three were ok.

  1. Bought a second usbasp and upgraded the firmware,2) when was trying to flash the attiny The old usbasp was giving me a error code when I was uploading it to the board but the new usbasp did the job fine.

use the usbasp to flash the other usbasp video on youtube on how to do it takes seconds :slight_smile:

@stuart Can you give me permission on github (hotear) to push a branch so that I can raise a pull request for you to look at? Iā€™ve got 2 Controllers on the go and they output under the same MQTT topic which make it almost impossible to tell them apart. Iā€™ve made code changes on a branch to allow you to override the default topic of diybms. Iā€™ve also fixed a little bug.

Hi @stuart,
I am one more person who like you DIYBMS and already on the way of building it. The boards (4,21) are already arrived (nice thing is, that JLCPCB has sent them through their EU warehouse/office, so there were no customs fees), but I still wait for ā€œhand soldering componentsā€ to come to finish assembly and start testing.

Meanwhile I have some small questions about controller board:

  1. can you please explain what J1 (Emergency Stop) do. You have mentioned previously that it triggers some Emergency stop rules - but exactly are these rules, what would happen if I short the J1?
  2. J2-J4 are spares at the moment and are only for future use, correct?

Many thanks :slight_smile:

Hi, you need to do a pull request from your branch and then I can take a look at merging the code. You donā€™t need permission to do this.

J1 simply runs the highest rules and triggers the relays into a state that you set in the web page. This could be be used as an emergency stop if you wished.

1 Like