DIYBMS v4

I don’t use platformio with VSCODE - I use the ATOM IDE. I think Microsoft VSCODE is the problem most folks have in setup and configuration!

The key point of platformio is its library management - the existing Arduino library manager is terrible!

However its a fair point on the learning curve. I may look at doing pre-compiled binary files that can be uploaded directly into WeMos/ATTINY and what that would need to save any compilation.

Yeah that would be quite helpful I believe. Also the managment might be terrible for power users like you, but maybe when you already know what is needed then listing required libraries for amateurs for arduino IDE isnt too difficult? :slight_smile:
But yeah, binaries for wemos and attinys would make the project a lot more approachable for many i’m sure.

I uploaded the 3D print solder stencil for v4.

Check out thingiverse thing no 3521803 “diyBMS stencil (v3 and v4)”
(Currently I cannot send you a link as the system thinks it is spam…) fixed Mod.

Have fun.

3 Likes

Thanks Stuart, that worked perfect! I got the ESP programmed. I am documenting the steps it takes to program the boards. I will try to make a video once I have it all sorted out.

1 Like

hi
im currently building v4 at the moment, wonder if someone can tell me what programmer is needed to program the chips, i have several programmers that i have been using for aduino so one of them might work?
thanks

You will need to use PlatformIO to compile the code - the WeMos is programmed from a USB cable, the ATTINY will need to be programmed using in system programming (ISP) - use another Arduino to do this.

Loads of instructions on the internet about this.

Thanks think i have sorted the compiler out
Thanks

Hi Stuart, Thanks for the awesome project, unfortunetly the
SDNT2012X473F4150FTF thermistor is no longer available at LCSC.com, and has been discontinued, would the
NTC Thermistors 1/5W 47KOhms ±5% 4050K 0805 RoHS
be a drop in replacement?

Yes, I am using that same one, it works

If people are having issues with compiling the code, I’ve created a pre-compiled version, basic instructions are here. I’d only use this if you are happy with the command line!

2 Likes

Hi Stuart, about the PCF8574AT/3 SO-16-W, is this compatible?
https://www.mouser.it/ProductDetail/NXP-Semiconductors/PCF8574AT-3518?qs=%2Fha2pyFaduh53QM8HfphYR4blmhc4IT5Vi4RCWKyooqe4Z1cH0BkWg%3D%3D
Thanks

Yes that looks like the correct part @cipel

Thanks for the reply.
one last question, I can’t find the assembled connectors to create the chain from boards, where can I buy them?
thanks again, great project!
wire-connetor

I make my own!

You can buy pre-terminated 2 pin JST connectors from Aliexpress and ebay. I just connect these together.

I’m trying to use an Arduino ISP to program the board. I added the upload board to be the arduino. But when I go to upload it says it can’t find the USBTiny device. Is there another configuration in the code? I tried searching but nothing is found in the code? Error below:

Checking size .pio\build\attiny841\firmware.elf
Memory Usage → Frequently Asked Questions — PlatformIO latest documentation
DATA: [======= ] 69.9% (used 358 bytes from 512 bytes)
PROGRAM: [==========] 96.1% (used 7870 bytes from 8192 bytes)
Configuring upload protocol…
AVAILABLE: arduinoisp
CURRENT: upload_protocol = arduinoisp
Looking for upload port…
Uploading .pio\build\attiny841\firmware.hex
avrdude: Error: Could not find USBtiny device (0x2341/0x49)

avrdude done. Thank you.

How many “using arduino to program attiny” videos did you watch to try solve your issue?

1 Like

You can hard code the COM port in the platformio ini file - I have to do that occasionally when it doesn’t detect it. Take a look at “upload_port” setting.

https://docs.platformio.org/en/latest/platforms/atmelavr.html

There aren’t that many out there. I have been reading the docs from the platformio site to try and figure it out. So I’m doing this by trial and error!

I do have the port hard coded in. I was getting a not found before adding it so I know it’s trying to upload over the com. I just don’t know why it’s still looking for the USBTiny to do the upload?

Try using “upload_protocol = arduino” instead of arduinoisp