32-Channel Power Switch Controller

32-Channel Power Switch Controller

Two protected 8 V rails driving 32 independently switched MOSFET channels.

Power & Batteries KiCad

The brief

Thirty-two independently controlled outputs is well past what a microcontroller can drive directly, so the board is really two systems: a power and battery management side, and a switched-output side expanded out over I/O expanders.

The expansion changes the failure modes — every channel needs its own protection, and the MOSFET bank has to stay switched off when the expanders or the ESP32 are unpowered.

32-Channel Power Switch Controller

What we did

A battery-backed controller built around the ESP32-S3-WROOM-1. It manages charging and protection of a battery pack, generates regulated supply rails, and switches 32 individually controlled MOSFET channels through I/O expanders.

  • Main controller: The ESP32-S3-WROOM-1 with USB-C programming and BOOT/RESET buttons.
  • Battery charging: A BQ24618 battery charge controller with power-path management and status indicators.
  • Battery protection: A BQ29209 protection IC guards the pack against over-voltage and under-voltage, with a connector for the battery pack.
  • Regulated power rails: Two TPS54821 synchronous buck converters generate separate 8 V rails (A and B). A 5 V LDO and a 3.3 V LDO power the logic.
  • Output protection: Two TPS25982 eFuses provide current limiting and over-voltage protection on each 8 V rail. 32 switched channels: Two banks of 16 MOSFETs (TSM900N10CP) with gate and pull-down resistors, split into MOSFET_A and MOSFET_B and powered from their own protected rails.
  • I/O expansion: Two MCP23017 I2C expanders give the ESP32 enough GPIO to drive every MOSFET channel independently.
  • Connectors: Two 20-pin headers break out the switched outputs.

Design details

Design summary

CAD toolKiCad
OverviewA battery-backed controller built around the ESP32-S3-WROOM-1.
Main controllerThe ESP32-S3-WROOM-1 with USB-C programming and BOOT/RESET buttons.
Battery chargingA BQ24618 battery charge controller with power-path management and status indicators.
Battery protectionA BQ29209 protection IC guards the pack against over-voltage and under-voltage, with a…
Regulated power railsTwo TPS54821 synchronous buck converters generate separate 8 V rails (A and B).
Output protectionTwo TPS25982 eFuses provide current limiting and over-voltage protection on each 8 V rail.
I/O expansionTwo MCP23017 I2C expanders give the ESP32 enough GPIO to drive every MOSFET channel…
ConnectorsTwo 20-pin headers break out the switched outputs.

Have a board like this?

Send us the schematic, the mechanical constraints and the deadline. We will tell you what it takes and what it costs.