To physically build a power formula circuit that dynamically solves and enforces $P = V \times I$ in real-time, you need a Constant Power (CP) electronic load topology. Unlike a basic constant-current (CC) load which draws a fixed amperage regardless of voltage sag, a CP load continuously adjusts its current draw inversely to the input voltage. This perfectly simulates the behavior of real-world DC-DC converters, inverters, and motor drives. For a precise, repeatable bench tool in 2026, the most robust architecture pairs an INA226 I2C power monitor, an Arduino Nano, and a logic-level IRLB8721 MOSFET.

The Core Topology: Closing the Loop on P = V × I

A constant power load exhibits negative incremental impedance ($dV/dI < 0$). As the Device Under Test (DUT) voltage drops, the circuit must draw more current to maintain the same wattage. If the control loop is too slow, or the DUT has high output impedance, this negative impedance characteristic can cause severe oscillation. We solve this with a high-speed digital feedback loop.

Topology Node Map

  • Node 1 ($V_{DUT+}$): Positive terminal from the battery or power supply under test.
  • Node 2 ($V_{SENSE+}$): Kelvin sense line connected directly to the DUT positive terminal, feeding the INA226 $V_{IN+}$ pin. This bypasses shunt voltage drop for accurate voltage measurement.
  • Node 3 ($V_{SHUNT-}$): The high-side shunt resistor connection, feeding the INA226 $V_{IN-}$ pin and the MOSFET drain.
  • Node 4 ($V_{DRAIN}$): The IRLB8721 MOSFET drain pin. Current flows from Node 3 through the MOSFET channel to the source.
  • Node 5 ($GND$): Common ground. The MOSFET source, the shunt low-side return, the INA226 GND, and the Arduino Nano GND all tie together here via a star-ground topology to prevent ground loops.
Why this topology over a purely analog constant-current load? A standard CC load using an LM358 and a shunt is great for testing battery capacity (Ah). But if you are testing a 12V-to-5V buck converter rated for 10W, a CC load will draw less power as the 12V battery sags, potentially allowing the buck converter to overvoltage and fail. A CP load forces the converter to work at its 10W thermal limit regardless of the 12V input sag, revealing true thermal and regulation failures.

Component Selection and Design Walkthrough

Let us design a 50W maximum power formula circuit for testing 5V to 24V DC sources. At 5V, 50W requires 10A of current. This dictates our component ratings.

1. The Shunt Resistor

We need to measure up to 10A. The INA226 has a maximum differential shunt voltage of 81.92mV. Using Ohm's law ($R = V/I$), our maximum shunt resistance is $0.08192V / 10A = 0.008192\Omega$. We will select a standard 0.01Ω 2W precision wirewound shunt (e.g., Vishay WSL2512). At 10A, the voltage drop is 100mV (we will configure the INA226 ADC gain to accommodate this, or accept a slight clipping at exactly 10A, practically limiting us to ~8.1A full scale for perfect accuracy, yielding 40W at 5V). Power dissipation in the shunt is $I^2R = 100 \times 0.01 = 1W$, well within the 2W rating.

2. The Pass Element (MOSFET)

The MOSFET must dissipate the entire 50W as heat. We select the IRLB8721 logic-level N-channel MOSFET. It has an $R_{DS(on)}$ of roughly 2.4mΩ at $V_{GS} = 4.5V$, minimizing internal heating. More importantly, its Safe Operating Area (SOA) curve supports high DC current at low $V_{DS}$. You must mount this to a 40x40x10mm extruded aluminum heatsink with a 120mm fan; without active cooling, the silicon junction will exceed 175°C and thermally throttle or fail in under 10 seconds at 50W.

3. Gate Drive and Filter

The Arduino Nano outputs a 490Hz PWM signal on Pin D3. We pass this through a 1kΩ series resistor and a 100nF capacitor to ground, creating a low-pass filter that yields a smooth DC gate voltage (0-5V). A 10kΩ pull-down resistor from Gate to Source is mandatory to ensure the MOSFET turns off if the MCU resets or loses power.

Behavior Matrix: Element Changes and Failure Extremes

Understanding how the power formula circuit reacts to faults is critical for protecting your DUT. Here is the failure-mode contrast for the closed-loop topology.

Element / Condition Change or Fault Circuit Response Resulting State
Sense Wire (Node 2) Open Circuit INA226 reads 0V; MCU calculates infinite current required to meet power target. MCU firmware triggers safety halt, cuts PWM to 0. MOSFET turns off safely.
MOSFET (IRLB8721) Drain-Source Short Shunt sees massive current spike; INA226 alerts pin pulls low. DUT is shorted. Physical inline fuse (e.g., 15A automotive blade) must blow to prevent fire.
DUT Voltage Sags below 2V Required current exceeds 10A limit to maintain 50W ($I = 50/2 = 25A$). MCU hits current compliance limit (8.1A). Circuit transitions from Constant Power to Constant Current mode.
Gate Pull-down (10kΩ) Missing / Open Gate capacitance holds charge during MCU brownout or reset. MOSFET stays partially on, drawing uncontrolled current. High risk of DUT damage.
Heatsink Fan Stalls / Fails MOSFET junction temp rises; $R_{DS(on)}$ increases, altering thermal equilibrium. Thermal runaway. MOSFET fails short or open within 60 seconds at 50W load.
Lithium Cell Safety: When using this power formula circuit to discharge LiFePO4 or 18650 lithium-ion packs, never rely solely on the MCU to stop the discharge. If the Arduino Nano locks up, the MOSFET could over-discharge the cells below 2.5V, causing copper dissolution and catastrophic fire risk on the next charge. Always wire a hardware low-voltage disconnect (LVD) or rely on the pack's internal BMS to sever the connection at the cell's minimum safe voltage.

Breadboard Testing and Verification Protocol

Do not connect a high-capacity battery until you have verified the open-loop and closed-loop behavior on the bench. Follow these exact steps:

  1. Verify the Pull-Down: With the circuit unpowered, use your multimeter in continuity mode. Probe the MOSFET Gate and Source pins. You should read approximately 10kΩ. If it reads open, stop and fix the pull-down resistor.
  2. Flash Open-Loop Firmware: Load a test sketch that outputs a fixed 20% duty cycle PWM on Pin D3, with the feedback loop disabled.
  3. Apply Low-Voltage Test: Connect a bench power supply set to 2.0V with a 1.0A current limit as your DUT. Power the Arduino Nano via USB.
  4. Measure Shunt Voltage: Probe across the 0.01Ω shunt. At 20% PWM, the gate voltage should be ~1V (below the IRLB8721 threshold of ~1.8V). The MOSFET should be off, and shunt voltage should be 0mV.
  5. Sweep the Gate: Increase the PWM duty cycle in code to 60% (~3V gate drive). The MOSFET should turn on. Verify the INA226 reads the correct current (e.g., 0.5A) and voltage (2.0V). Calculate power manually: $0.5A \times 2.0V = 1.0W$.
  6. Close the Loop: Flash the final PID-controlled firmware. Set the target power to 5W via the serial monitor. The MCU should automatically adjust the PWM until the INA226 reports exactly 5.0W. If it oscillates, reduce the PID 'P' (proportional) gain by 50%.

Decision Tree: Choosing Your Power Regulation Topology

There are multiple ways to solve the power formula in hardware. Use this decision matrix to select the right approach for your specific bench requirements.

Design Requirement Analog Multiplier (e.g., AD633) Pure Op-Amp (Log/Antilog Diodes) MCU + Digital Monitor (INA226)
Cost (BOM) High ($15 - $25 for IC) Low ($2 - $4 for discrete) Medium ($8 - $12 total)
Bandwidth / Speed Excellent (>1MHz) Poor (temperature drift, slow) Good (Limited by I2C speed, ~1kHz loop)
Data Logging Requires external ADC/DAQ Requires external ADC/DAQ Native (Serial/SD card via MCU)
Complexity Moderate (requires dual supplies) High (requires thermal compensation) Low (plug-and-play I2C modules)
Best Use Case High-speed transient testing Educational theory demos Battery capacity & DC-DC thermal testing

The Verdict: For 95% of hobbyist, maker, and trade-student applications, the analog approaches are obsolete. The negative temperature coefficient of diode-based log amps makes them unusable without a temperature-controlled oven, and the AD633 is overkill for testing power supplies with slow transient responses.

Default Pick: Build the MCU + INA226 + IRLB8721 topology. It provides native data logging, automatic safety cut-offs, and easily handles the 1kHz control loop speed required for battery and bench power supply testing. Source the INA226 on a pre-broken-out I2C module (like the Adafruit 5376 or generic equivalents) to save hours of soldering 0.5mm pitch SMD pads, and use the official Arduino Nano for reliable 5V logic levels to drive the gate filter.

For the definitive electrical characteristics and I2C register mapping of the power monitor IC, always refer directly to the TI INA226 Datasheet to ensure your shunt calibration multiplier is calculated correctly for your specific 0.01Ω resistor tolerance.