Merry Xmas and happy new year Stuart. Really looking forward with happiness for the new controller code and pylontech emulation, thats a huge step forward in my opinion, as pylotech is supported by most hybrid inverter manufacturers, a great add on for us. Thank you for your hard work.
Hi Stuart, I just found this page. I have been working on something remarkably similar and live in Newcastle! I have a cell monitor using an attiny85 with serial comms between the cell monitors and a controller using an ESP32, this monitors the current using an INA228. I am currently looking at changing the cell monitors to use BLE to get rid of the wires. I also have just installed a Givenergy AC inverter and 5.2 battery to store cheap Octopus Go electricity. There is lots to talk to about.
Hi Stuart, I am a big follower of your diybms project. I am just wondering if I can redo the board layout and design in Flux ?(it's a new webapp for designing circuit and PCB board). Just asking for your permission.
Excellent work. I am starting to analyze the necessary elements to build an HV battery. I have not yet found a list that will show what I need to support 56 LiFePo4 batteries. I am going to watch your videos. I wish you success. Regards Grzegorz from Poland
Hello Stuart. For the v4.4, i understand that the batt voltage is measure with the voltage divider. However, on V4.5, i don't understand how the batt voltage is measured. When PA1 (REF_EN) outputs a voltage, PA5 (VREF) is always at 1.24V. Which input ADC port measures the batt voltage? Thanks
Hello, the V4.5 modules run at the cell voltage (which directly powers the ATTINY chip). The 1.24V reference is used as a reference to the ADC chip in the ATTINY which can then use that to determine the "band gap" voltage of the incoming cell voltage. Because the reference voltage is fixed, the code can calculate the cell voltage powering the ATTINY.
Currently playing with Solar and Batteries. Looks interesting, but do I need one of these boards for every battery? If I have a 3 series 12v battery bank that's 3 PCB modules? If I start to parallel individual batteries, then it becomes more cost / space effective. but are we then just protecting a single paralleled bank. Have I understood that right?
I use a resistive divider in my heater controller project, but i don't have it sit being a parasitic battery draw, i switch it to ground with a mosfet then take a reading. theres always a chance that a charger can fail, and then with a resistive divider there's only one outcome over time. but of course what you have done here is one stage better still.
Thanks for the great work Stuart, is this new module compatible with the previous version of the controller (ESP8266) and will it work with a mix of v4.21 modules?
It should be okay, I've not fully tested it against the ESP8266 controller, but its the same code under the covers - you will need to run it at the "standard" baud rate/speed.
Thank you Stuart for the excellent work and the detailed explanation in the video. I have a question about the reference voltage: Why don't you use the internal 1.1V reference instead of the external 1.25 from the Z-Diode?
I think it should be fine - the esp8266 isn't a supported platform, but the module should still work from a software point of view. Make sure you are using the 2400 baud rate (comms speed) code for the module.
@@StuartPittaway Thank you for your reply. I tried to flash 2k4 firmware (module_fw_V450_2K4_ATtiny1624_450_e0_h0_l0.hex) for the module and it's flashing green but I got no information when connecting to the controller.
@@TanNguyen-qq2kphas the controller worked with other modules? Try connecting the TX and RX together on the controller - you should see "ignored" errors in the web interface. That means the controller is working properly. The modules connect to the controller TX to RX (not TX to TX - that is bad!)
@@StuartPittaway Ok, thank you for information, but if you have time will be very helpfull, (not only for me), if you can show how to order on JLCPB, because there are many forms to complete. All the best!
I hope you do migration to new SoC as Module for 4 or 8 cells and then that modules get into loop. Less work when I want do 128LFP cells in one string .
This looks an excellent model iteration. You are not only an extremely savvy electronics developer, but a great teacher, as well. Thanks. I guess the obvious question is, are the existing controller & shunt modules plug & play compatible, with this redesigned monitoring module? I would be considered as not far above entry level, for electronics, but did understand, your V4.5 module upgrade explanation. I am teaching myself, all the necessary requirements, through channels, such as yours, to further my understanding, towards a safe, & effective system. I am building up my 18650 supply, at present (procurement, testing, as well as building smaller battery systems, like portable backup power supplies (~1.6Kwh the largest, to date)), with a view to building a solar backup system (not to as large a scale, as some, in the DIY world). So, am just researching your BMS; but am vying towards utilising it, as my preferred battery bank charge/discharge control, as I really like your individual module-oriented design. Makes future battery upgrades, as well as capacity increases, a breeze. A Good & safe Christmas/New Year, to you, & your family, Stuart.
Hey Stuart amazing work on the new 4.5 module. You are currently working on the new CAN programming for next year. However there is one feature still lacking from the DIYBMS project. That is AC charging via CAN with current control. There is a bms project that went open source called ZEVA BMS and it has the ability to use any TC Charger that is the 1.8kw,the 3.3kw,and the 7.2kw. The bms code can set the current rate on the fly. The TC Chargers are very well made and best bang for the buck of all the CAN chargers out there. Do you think you can integrate the ZEVA BMS CAN code with the DIY BMS project ?
Should be possible to do the integration. The new code controls the voltage for the most part (as recommended by Victron) which then automatically controls the current as well.
@@StuartPittaway Exactly my thought. However with the TC Chargers the code is already out there and the protocol is open as well. It would be nice to have an alternative charger for those who don’t have or can afford Victron gear. I have searched around and the TC Chargers are the most affordable and most powerful chargers out there. They were originally made for the EV market however I am seeing them be used everywhere.
@@StuartPittaway Does this mean that it will support TC chargers as well ? It would be nice to have a separate AC charger along with Victron charger support. Victron does sell a CAN charger however it only supports 12 and 24 volts. Victron does not have a separate charger for 48 volts systems that is CAN controlled. TC Chargers are a more affordable option and they deliver a higher charge rate compared to the competition. I have searched around.
Hi Stuart again. My cell monitor (attiny85) runs at 19200baud (this is quite hard on an 85 especially without an external xtal!) and thus the round trip time is not a problem. I also only send data if there is a change which reduces the data dramatically. Send me a message I will share what I did. I have tried to send this before the bot eats it up! Here is how to get in touch encoded. My name is David Liddell. Use my first name, the usual separator, my surname followed by the most common TLD. Hope this works.
David - I obviously can't decipher the email address!! Can you create me a GITHUB issue over at github.com/stuartpittaway/diyBMSv4ESP32 and we can chat in there.
@@StuartPittaway You could go down to 1-2mV resolution if you have used measuring from v4.4, right? Is there any reason or advantage of measurement in v4.5 compared to v4.4?
@@StuartPittaway This is misunderstanding. I'm not asking if v4.4 or v4.5 is better. The newer MCU is definitely better, no question about that. I mean why did you change the schematic for measurement part? If you did not change this, you could have better resolution, don't you?
@@Chupacabras222 I see what you mean now. The resistance of the divider circuit also changes with temperature, so getting those out means only 1 component (voltage reference) is the variable
Merry Xmas and happy new year Stuart. Really looking forward with happiness for the new controller code and pylontech emulation, thats a huge step forward in my opinion, as pylotech is supported by most hybrid inverter manufacturers, a great add on for us. Thank you for your hard work.
Thanks for watching. The new code looks to be working well so far.
Just discovered this, and I must say I am impressed.
Thank you
Thank you and have a great Christmas and a festive New Year.
Thank you
All the best for the new year Stuart.
Thanks for all your efforts in re-designing, prototyping and testing the new release of the DIYBMS.
Many thanks!
Awesome work and very well explained!
Thanks a lot!
Hi Stuart, I just found this page. I have been working on something remarkably similar and live in Newcastle! I have a cell monitor using an attiny85 with serial comms between the cell monitors and a controller using an ESP32, this monitors the current using an INA228. I am currently looking at changing the cell monitors to use BLE to get rid of the wires. I also have just installed a Givenergy AC inverter and 5.2 battery to store cheap Octopus Go electricity. There is lots to talk to about.
Sounds like we have a very similar setup - have you seen my other videos on the LIFEPO4 battery build?
Finally! I just discovered this and I neeeeed it. What's the max series chain one can do with these DIYBMS boards?
Thanks, Stuart. Have a wonderful holiday season and keep up the great work!
Thanks, you too!
Hi Stuart, I am a big follower of your diybms project. I am just wondering if I can redo the board layout and design in Flux ?(it's a new webapp for designing circuit and PCB board). Just asking for your permission.
Yes, absolutely. Just a reminder that the design is open source for non-commercial usage, so can't be resold for profit
@@StuartPittaway noted. I’ll share you the link once I’m done. Thanks again for this awesome project!
Excellent work.
I am starting to analyze the necessary elements to build an HV battery. I have not yet found a list that will show what I need to support 56 LiFePo4 batteries. I am going to watch your videos. I wish you success. Regards Grzegorz from Poland
Thank you!
Hello Stuart. Do you have a battery charger solution to complement the DIY BMS? Thanks.
No I don't. Victron kit is good quality and works well with diybms. I use a sofar inverter/charger
Great job Stuart. Will love to contribute.
Thank you.
Glad to the the improvements as you progress with DIYBMS. Also glad to see those awful JST's gone for the most part :)
Yeah, JST 2.0 are a pain!
Hello, when I try to order a driver, it shows that some parts are missing in the bom and cpl files.
Hello Stuart. For the v4.4, i understand that the batt voltage is measure with the voltage divider. However, on V4.5, i don't understand how the batt voltage is measured. When PA1 (REF_EN) outputs a voltage, PA5 (VREF) is always at 1.24V. Which input ADC port measures the batt voltage? Thanks
Hello, the V4.5 modules run at the cell voltage (which directly powers the ATTINY chip). The 1.24V reference is used as a reference to the ADC chip in the ATTINY which can then use that to determine the "band gap" voltage of the incoming cell voltage. Because the reference voltage is fixed, the code can calculate the cell voltage powering the ATTINY.
@@StuartPittaway Hello again. Which pin will actually measure the band gap of the incoming cell voltage?
@@marcbohbot7533 the cell voltage is measured directly from the VCC input to the ATTINY, along with PA5 (VREF)
Thank you. Still using the previous edition. :)
You're welcome!
Currently playing with Solar and Batteries. Looks interesting, but do I need one of these boards for every battery? If I have a 3 series 12v battery bank that's 3 PCB modules?
If I start to parallel individual batteries, then it becomes more cost / space effective. but are we then just protecting a single paralleled bank. Have I understood that right?
You need a module per set of parallel cells. The modules don't cost a lot (less than 5 USD)
could you do a video on using the updi programmer used jtag2updi.Iam using with avrdudess no joy any help thanks.
Ok, good idea
I use a resistive divider in my heater controller project, but i don't have it sit being a parasitic battery draw, i switch it to ground with a mosfet then take a reading. theres always a chance that a charger can fail, and then with a resistive divider there's only one outcome over time. but of course what you have done here is one stage better still.
The existing modules (v4.40 and earlier) also switch the divider in and out using one of the pins on the ATTINY chip.
Thanks for the great work Stuart, is this new module compatible with the previous version of the controller (ESP8266) and will it work with a mix of v4.21 modules?
It should be okay, I've not fully tested it against the ESP8266 controller, but its the same code under the covers - you will need to run it at the "standard" baud rate/speed.
What's the maximum number of cells you can do in series? Would the i2c bus be able to handle 100s?
Up to 128 cells in series, the modules no longer use i2c bus for communication.
what are you using then if your not using i2c? canbus? uart? spi? thanks for the info! 🙂
@@ryanmowry1170 custom isolated UART protocol
as always great work stuart and thx for doing this.
My pleasure
Thank you Stuart for the excellent work and the detailed explanation in the video. I have a question about the reference voltage: Why don't you use the internal 1.1V reference instead of the external 1.25 from the Z-Diode?
The internal reference just isn't very good!
Any chance for an updated "how to order"-video?
Good idea
Hey, how about to use CH32V003 mcu. It seems to be costing around $0.1. Yes, it is still 10 bit and made in China but available and cheap.
That would require all the software to be rewritten!
@@StuartPittaway which might be not that bad idea. I mean make it more abstract and less dependant on hardware implementation.
great progress !
Thanks
Thanks Stuart 🎄
Thanks for watching
Fantastic. Thanks for the great effort.
Glad you liked it!
I'm trying to build this module v4.5 but it seem doesn't work with esp8266 controller. is that true? Thanks
I think it should be fine - the esp8266 isn't a supported platform, but the module should still work from a software point of view. Make sure you are using the 2400 baud rate (comms speed) code for the module.
@@StuartPittaway Thank you for your reply. I tried to flash 2k4 firmware (module_fw_V450_2K4_ATtiny1624_450_e0_h0_l0.hex) for the module and it's flashing green but I got no information when connecting to the controller.
@@TanNguyen-qq2kphas the controller worked with other modules? Try connecting the TX and RX together on the controller - you should see "ignored" errors in the web interface. That means the controller is working properly. The modules connect to the controller TX to RX (not TX to TX - that is bad!)
Will there be a video how to program the new updi things ?
Probably - although if you watch the current monitor/shunt video that covers how to program UPDI devices.
@@StuartPittaway so thank you, i will check it out. I can order the esp32 board and the battery controller with the updi right now ?
@@curtis2788 yes, they are in GitHub
@@StuartPittaway hex file for v4.50 batterycontroller is missing... would you be so kind and add it. Thx
@@curtis2788 v4.4 of the controller is the latested released version in the master branch. The code the v4.5 modules is in the release zip file.
Thank you!
How does this DIY BMS compare to say an Orion BMS? Seems it’s 10x. Cheaper. Does the Orion do anything better?
I've not used an Orion BMS so not sure of the features
Very nice module! Is it for sale? If so, how can I order it and how much does it cost? Thank you very much for sharing!All the best to all family!
The files you need to build this are all in the GITHUB repository - the boards can be ordered from JLCPCB
@@StuartPittaway Ok, thank you for information, but if you have time will be very helpfull, (not only for me), if you can show how to order on JLCPB, because there are many forms to complete. All the best!
Nice! I don't know if you said it in the video or not, but will you be able to mix and match the 4.4 and 4.5 versions? Thanks for the great work!
Yes you can!
What about LTC chip solution??? Did you abandoned this solution? Thanks Stuart 😊
No, still going to look at that but I needed a working solution for my LIFEPO4 battery cells.
I hope you do migration to new SoC as Module for 4 or 8 cells and then that modules get into loop. Less work when I want do 128LFP cells in one string .
Yes, I'm still going to look at that
This looks an excellent model iteration. You are not only an extremely savvy electronics developer, but a great teacher, as well. Thanks. I guess the obvious question is, are the existing controller & shunt modules plug & play compatible, with this redesigned monitoring module?
I would be considered as not far above entry level, for electronics, but did understand, your V4.5 module upgrade explanation. I am teaching myself, all the necessary requirements, through channels, such as yours, to further my understanding, towards a safe, & effective system.
I am building up my 18650 supply, at present (procurement, testing, as well as building smaller battery systems, like portable backup power supplies (~1.6Kwh the largest, to date)), with a view to building a solar backup system (not to as large a scale, as some, in the DIY world). So, am just researching your BMS; but am vying towards utilising it, as my preferred battery bank charge/discharge control, as I really like your individual module-oriented design. Makes future battery upgrades, as well as capacity increases, a breeze.
A Good & safe Christmas/New Year, to you, & your family, Stuart.
Hi- thanks for the comment, this new module is fully compatible with the existing ESP32 controller, and also the older style modules.
Thanks Stuart,
Thanks for watching
Great stuff!
Glad you enjoyed it
What did you use for your microscope?
It's a very low cost £70 unit from AliExpress. Had it for ages so not sure of the brand.
Hey Stuart amazing work on the new 4.5 module. You are currently working on the new CAN programming for next year. However there is one feature still lacking from the DIYBMS project. That is AC charging via CAN with current control. There is a bms project that went open source called ZEVA BMS and it has the ability to use any TC Charger that is the 1.8kw,the 3.3kw,and the 7.2kw. The bms code can set the current rate on the fly. The TC Chargers are very well made and best bang for the buck of all the CAN chargers out there. Do you think you can integrate the ZEVA BMS CAN code with the DIY BMS project ?
Should be possible to do the integration. The new code controls the voltage for the most part (as recommended by Victron) which then automatically controls the current as well.
@@StuartPittaway Exactly my thought. However with the TC Chargers the code is already out there and the protocol is open as well. It would be nice to have an alternative charger for those who don’t have or can afford Victron gear. I have searched around and the TC Chargers are the most affordable and most powerful chargers out there. They were originally made for the EV market however I am seeing them be used everywhere.
@@carlospereira9838 the new code emulates Pylontech battery units which are also supported by lots of non-victron kit.
@@StuartPittaway Does this mean that it will support TC chargers as well ? It would be nice to have a separate AC charger along with Victron charger support. Victron does sell a CAN charger however it only supports 12 and 24 volts. Victron does not have a separate charger for 48 volts systems that is CAN controlled. TC Chargers are a more affordable option and they deliver a higher charge rate compared to the competition. I have searched around.
Do you have a link to the charger you have in mind?
You should be selling these!
Hi Stuart again. My cell monitor (attiny85) runs at 19200baud (this is quite hard on an 85 especially without an external xtal!) and thus the round trip time is not a problem. I also only send data if there is a change which reduces the data dramatically. Send me a message I will share what I did. I have tried to send this before the bot eats it up! Here is how to get in touch encoded. My name is David Liddell. Use my first name, the usual separator, my surname followed by the most common TLD. Hope this works.
David - I obviously can't decipher the email address!! Can you create me a GITHUB issue over at github.com/stuartpittaway/diyBMSv4ESP32 and we can chat in there.
4mV resolution with 10bit ADC, and 3mV resolution with 12bit ADC? It seems there's something wrong with the design.
Its just down to the scaling of the input voltage.
@@StuartPittaway You could go down to 1-2mV resolution if you have used measuring from v4.4, right? Is there any reason or advantage of measurement in v4.5 compared to v4.4?
@@Chupacabras222 the 4.5 is better measurement, particularly because of the hardware over samples, so actually the resolution is more like 16 bit.
@@StuartPittaway This is misunderstanding. I'm not asking if v4.4 or v4.5 is better. The newer MCU is definitely better, no question about that. I mean why did you change the schematic for measurement part? If you did not change this, you could have better resolution, don't you?
@@Chupacabras222 I see what you mean now. The resistance of the divider circuit also changes with temperature, so getting those out means only 1 component (voltage reference) is the variable