This PCB I designed manages the charging of a 3.7V LiPo battery. When powered by USB-C, the board is capable of load sharing, powering the load connected to the board in addition to charging the battery simultaneously. Seemlessly, the board, when unplugged, the board switches to powering the load off of the LiPo battery until the battery is depleeted. The board also has a WEBENCH-designed buck converter outputting 3.3V during both USB-C power and off the LiPo.
This project is sponsored by PCBWay, a wonderful and easy to use PCB manufacturer.
Below are videos demonstrating different features of the 3.7V LiPo BMS board.
The video below shows the BMS board powering the load via discharging the LiPo battery safely.
The video below shows the load sharing capabilities of the BMS board when plugged in via USB-C. The board switches the load to be powered via the USB-C (when plugged in) instead of by the battery, and the battery, at the same time, charges from the USB-C as well. This forces the load to be powered via the USB-C instead of the battery that way the battery can be charged much faster whilst the device can still be used!
The video below shows the BMS shutting off and stopping charging the LiPo battery once the battery reaches full charge at around 4.2V. The indicator light (green LED) turns off once the battery is fully charged, as shown in the video.
Below are photos showcasing the final schematic sections and printed circuit board design for the project.
Below is a table containing all of the parts as well as a link to the Digikey parts list.
Part Name | Count | Cost Per Part |
---|---|---|
USB-C Female Connector | 1 | $0.78 |
MCP73831T-2ACI/OT | 1 | $0.76 |
TPSM82823SILR | 1 | $2.96 |
5.1kΩ 1206 Resistor | 2 | $0.10 |
4.7µF 1206 Capacitor | 2 | $0.18 |
Green SMD LED | 1 | $0.23 |
1kΩ 1206 Resistor | 1 | $0.10 |
33kΩ 1206 Resistor | 1 | $0.10 |
SS14 | 1 | $0.29 |
1N4148WT | 1 | $0.12 |
10kΩ 1206 Resistor | 1 | $0.10 |
IRLML6402TRPBF | 1 | $0.40 |
10µF 0603 Capacitor (GRM188R60J106ME84D) | 1 | $0.37 |
120pF 0201 Capacitor (GRM033R71E121KA01D) | 1 | $0.10 |
10µF 0805 Capacitor (C0805C106K8PACTU) | 1 | $0.13 |
100kΩ 0402 Resistor (CRCW0402100KFKED) | 2 | $0.10 |
453kΩ 0402 Resistor (CRCW0402453KFKED) | 1 | $0.10 |
Using the Device such as Pinouts or Setup is detailed below.
Below is information and necessary tables of pinouts for the device.
Pin Technical Name | Pin Name | Pin Info |
---|---|---|
USB-C Female Port | USB-C | USB-C Port for Power |
BAT+ SMD Pad | Battery+ | Positive Battery Terminal |
BAT- SMD Pad | Battery- | Negative Battery Terminal |
L+ SMD Pad | Load+ | Positive Load Terminal |
L- SMD Pad | Load- | Negative Load Terminal |
Using the board is really easy. Once all the components are soldered on, simply connect the positive and negative terminals of the LiPo battery to the SMD solder pads on the bottom side of the board, and wire the load to the SMD solder pads on the top of the board labled L+ and L-. From there, simply plug in the board to USB-C to charge, or let it run off the LiPo! It's that easy!
Challenges, What I Learned, and More.
This board was a huge challenge in a lot of ways. In this board I utilize a ton of components and concepts that I've never worked with before, so there were plenty of thngs that could've gone wrong. Things like implimenting a WEBENCH buck converter design, designing the USB-C load sharing with diodes and MOSFETs, and properly laying out the peripherals for the charging IC so that it would properly charge the battery. BMSs are very complicated and I've wanted to work on this idea for a while but was hesitant because of all of these unknowns and new concepts I'd need to use.
This project honestly taught me tons. The biggest thing was furthering my understanding of LiPo batteries: how they work, how they charge, and how they discharge. I also fully developed my own custom-tailored buck converter using WEBENCH, which taught me a lot about buck/boost converters and advanced my knowledge with using the tool. I had to go through many different designs that WEBENCH provided for my custom needs to find the perfect buck converter as a lot of the parts the provided circuits used were unavaliable on DigiKey.
This board had no particular inspiration. I had been wanting to develop a LiPo BMS for a while but was hesitant because of the complexity. I suppose I was inspired by its potential uses, as I hope to make a wristwatch powered by this device, and I also know there are plenty of other applications I can use this for in future projects!
Specific feature breakdown, design choice explanations, and more.
To make an efficient and well-designed buck converter is rather difficult. For this, I used Texas Instrument's WEBENCH tool online, which allows you to set specs for the buck converter design you want and it spits out a corresponding circuit for your needs. For me this was perfect, as I knew my Vin would be clamped to the battery min and max voltages and also the USB-C voltage, so a range of 5V down to 3.5V. With this data plugged into the tool I looked through the provided designs until I settled on the TPSM82823SILR IC and its accompanying peripheral circuitry as it fit my needs perfectly. It met the voltage/current draw needs of mine as well as all of its parts were avaliable online and the total size of the circuit was small. The parts for this buck converter are listed on the DigiKey list further up this page and in the Altium schematic files if you are interested.
The USB-C load sharing is designed to seamlessly transition the load from being powered by the battery to being powered by USB-C or vice versa. This is done via the circuit shown below. When not plugged in to USB-C, the P-channel MOSFET allows current to flow from the LiPo battery to the buck converter then to the load. That current is also unable to leak to the USB-C port by accident as a Shottky diode from USB-C VCC prevents reverse current to flow there. Additionally, a 10kΩ pull down resistor on the MOSFET gate line pulls the gate to ground when no USB-C voltage is applied to prevent the gate from floating. The MOSFET, being P-channel, allows current to flow when the Vg < Vs by Vt (voltage gate < voltage source by voltage threshold). Therefor, when no voltage is applied at USB-C VCC (i.e. no USB-C plugged in and MOSFET gate is pulled to ground via pull down resistor) then current can flow from the LiPo to the load. On the other hand, when USB-C power is received (the device is plugged in), the LiPo will be charged and the load will be powered independetly of the LiPo. In that case, Vg > Vs, so the P-channel MOSFET prevents flow between source and drain, preventing discharge of the battery. Additionally, the Shottky diode then allows the USB-C VCC to flow to the buck converter. As a result, the LiPo charges and the load is powered, both done independetly, so the load is no longer drawing charge from the battery. This allows for faster and safer charging of the LiPo. The image below, as mentioned, showcases the circuitry that makes this possible.
I chose the buck converter to output a steady 3.3V for a good reason. 3.3V is the standard for all the microcontrollers I use (ESP32, Atmel chips), and since most of my projects revolve around the use of a microcontroller, this is the perfect voltage, as I can power my microcontroller directly off of the buck converter without the need for an inefficient LDO.