4-layer PCB design timelapse of a BMS with EagleCAD

Timelapse design video of a custom Battery Management System that I designed for the McMaster Solar Car Project, and for my final year ECE undergrad thesis project.The battery management system consists of multiple circuits that monitor the voltage, temperature and current of all the li-ion modules/cells within a battery pack. The system also controls the main contactor to ensure the battery is only connected to the load during safe conditions. The BMS can also individually charge/discharge modules to maintain a balanced charge across each cell/module. This increases the “effective capacity” of a battery pack.The design shown does almost everything on a single circuit. It can monitor voltages of all 210 li-ion cells in the battery pack, the temperatures using 10k NTC thermistors, and the overall current of the pack with a single hall effect sensor.The circuit also controls the speed of the cooling fans such that the battery maintains its temperature at 45 degree C (highest energy capacity of our battery pack at that temperature). additionally implemented is CANbus running at 125 kbps (to send out data to other circuits in the solar car), LCD output port to display error messages, UART debugging port, I2C eeprom for storing non-volatile error messages, voltage and temperature test nodes for calibration/testing.Soldering the circuit took me about 20 hours. The pcb contains about 300 individual components, and over 1200 smd pads.This is my first attempt at a 4-layer design (I’m sure some of you may cringe seeing me design this), if any PCB design veterans out there would like to give me advice, I’d appreciate it.You can find more pictures about the project here: in order: (All from NCS)
different heaven & eh de – my heart
disfigure – blank
Alan Walker – Spectre
Deaf Kev – Invincible
Ahrix – Nova