Open source Thinkpad battery design
This is a fully open source laptop battery design. The design uses an attiny85, which can reply to the T420 motherboard's SMBUS requests.
Parts Needed
Once you have all these parts, assemble the pcb and attach a BMS to your battery pack. Solder the 12v battery output/input to the large pads on the pcb, then program the attiny85 with the included ino file. The output pins at the bottom of the PCB are a 1-1 mapping of the motherboard pin input.
Use the ATTinyCore for compiling. Without it, Wire.h won't work.
Currently remaining battery %'s aren't exact because I'm assuming there is a linear coorelation between voltage and capacity (Which is wrong). This is probably fixable using a battery gas gauge, I'll have to investiage more.
By design, the MCU will always be on as long as a battery is connected to it. This can cause the battery to slowly run out of power if it isn't connected to a laptop. A potential fix could be to implement a low power mode for the attiny, or have a seperate disconnect switch for the battery power on the battery pack itself.
The case for the cells has been completed. The case model and stl files are included in /model
iam4722202468 - Design and manufacture a PCB with current,voltage and battery capacity measuring capabilities, an easily programmable microcontroller, and a 3s balanced charger
pj1976 - Find a bms that would fit, or try to talk with bq29312pw that was in the original pack
iam4722202468 - Initial work, T420 9 cell model
pj1976 - Added support for R50