🎥 Demo: See it in action 👇🏻

Supplies

Core main Components

  • BQ27441 Fuel Gauge IC (Texas Instruments)
  • BQ24075 Charger IC (Texas Instruments)
  • ATmega328P MCU (Arduino-compatible)
  • WS2812B LED Bars (10x2 configuration)
  • 18650 Battery Holder
  • 0.01Ω Current-Sense Resistor (1206 package)
  • USB-C Connector (TYPEC-304-BCP16)

Full BOM list here ➡️ (GitHub repo)

PCB & Assembly

Tools

3D Printing

Software

🔌 Schematic Overview

I designed this system around three core ICs:

  1. BQ27441 Fuel Gauge - For accurate SoC/SoH measurement via I²C
  2. BQ24075 Charger - Handles USB-C power input and battery charging
  3. ATmega328P MCU - Processes data and drives LED indicators

Key Design Challenges Solved:

  1. Precision Sensing: Added a 0.01Ω current-sense resistor (R10) for coulomb counting
  2. Thermal Safety: Designed dual NTC support (onboard and external battery sensors)
  3. Noise Reduction: Used star grounding and 100nF decoupling caps near all ICs

🛠️ Design Tools Used

  1. Schematic Capture: Altium Designer
  2. Component Sourcing: Selected JLCPCB-compatible parts for easy assembly

Pro Tip:

Always run a Design Rule Check (DRC) before finalizing! My schematic passed with zero errors thanks to Altium's real-time validation.

📁 Design Files:

  1. Full Schematic PDF
  2. Altium 365 Project

PCB Assembly (SMD Soldering Guide)

🛠️ Tools You’ll Need

  1. Solder Paste (ChipQuik SMD291AX)
  2. MHP50 Hot Plate
  3. LINKMICRO Microscope
  4. PCB Stencil (Included in GitHub repo’s Gerber files)

🔬 Assembly Process

1. Apply Solder Paste

  1. Secure the PCB stencil over the board using tape.
  2. Spread solder paste evenly with a squeegee (or old credit card).
  3. Pro Tip: Chill the paste for 5 mins first for better viscosity!
  4. I 3D printed a support to help me apply solder paste → (3D STL File here)

2. Place Components

  1. Use ESD tweezers to position tiny parts (0402 resistors, ICs).
  2. Start with the smallest components (resistors/caps) → larger ICs last.

3. Reflow with Hot Plate

  1. Preheat the MHP50 hot plate to 150°C.
  2. Place the PCB on the plate and heat until paste turns shiny (~220°C, 2-3 mins).
  3. Critical: Let it cool naturally, no fans!

4. Inspect Under Microscope

  1. Check each joint with the LINKMICRO microscope:
    1. Good joint: Smooth, concave fillet.
    2. Bad joint: Dull or ball-shaped (reflow with hot air).
  2. Pay special attention to:
    1. BQ27441’s tiny pins (SON-12 package)
    2. USB-C connector (easy to bridge)

⚠️ Troubleshooting

  1. Bridged Pads? Use copper braid w/ flux to wick excess solder....
Read more »