Can't program new cell modules

Hi All,

I’m having no end of issues programming my cell modules. The USBASP isn’t communicating. I’ve done everything I can to update drivers and firmware, which seems to be successful. But I can’t program any modules, even ones I know to be good and working.

I’ve checked my programmer’s cables for continuity and that all seems good. I’ve got 2 modules that are dead, 1 that seems ok but won’t communicate with the controller. I’ve got a bunch of new modules, but I bought ATTiny814, not 841! So I’ve got an order for the correct chips on their way.

My new lithium cells have just arrived, so I really need to get this system up and running.

OK, so I seem to have solved the problem of writing to the module. I added the -B16 flag in the Platformio.ini and it worked. I’m still having issues though with the module not communicating with the controller.

I’ve double checked it all so far by plugging in my known good module and that works, but I plug in the module that I just flashed all I get is the double blue flash every 8 seconds. Any help on trouble shooting the board? Are there any voltages to check on the ATtiny?

@stuart is there anything I can do to troubleshoot the module that is not communicating with the controller?

Use the setfuse option in platformio, and the program the module again.

Or follow the instructions on GitHub using avrdude

I’ve followed these instructions (the Platformio only had the V400 option), so I just used avrdude. The flags reported correctly (I think), but still no communication with the controller.

Thats a problem to start with!!

Which files did you use from this guide?

[GitHub - stuartpittaway/diyBMSv4Code: Software for diyBMS v4]


[GitHub - stuartpittaway/diyBMSv4Code: Software for diyBMS v4]

Yeah, I redownloaded the repo and that’s all that was visible. I used this file in avrdude:

  • module_fw_V421_attiny841_421_eF4_hD6_l62.hex

The fuses responded E:F4 H:D6 L:62

Great, so now the easiest way to progress is this:

  1. Disconnect all the TX/RX cables.
  2. Put a single cable from the controller TX to the controler RX - the web page should show “ignored” errors - this is good :slight_smile:
  3. Disconnect that cable
  4. Connect the controller TX to module 1 RX
  5. Connect module 1 TX to controller RX

You should now see flashing green LED on the module, and 1 cell in the web page.

The cables between the modules/cells need to be pin 1 to pin 1 and pin 2 to pin 2 - if you have brought cables, check they don’t swap over.

OK, well I do have a working controller with one working module, the second module still doesn’t communicate with the controller though. I have just unplugged the working module and plugged in the second module, so I know everything else is fine.

Now that I have received my new ATTiny841’s, I’ve been able to build, program and test3 more modules and they all work along with 1 of my original 4 modules (3 are now dead).

One thing I’ve done to avoid destroying any more chips is to solder the leads directly to the RX port and a socket to the TX port to reduce the chance of me plugging RX to RX or TX to TX!!