The fundamental physics formula for energy in an electrical circuit is E = P × t (Energy equals Power multiplied by Time). When expanded for DC systems using Ohm's Law, it becomes E = V × I × t. Energy is measured in Joules (J) when time is tracked in seconds, or Watt-hours (Wh) when time is tracked in hours. This formula dictates everything from the thermal output of a heating element to the runtime of an off-grid battery bank.

The Core Physics Formula for Energy in DC Circuits

In physics, energy is the capacity to do work. In electrical terms, it is the total amount of work performed by moving electrons through a potential difference over a specific duration. While power (Watts) is the rate at which work is done, energy (Joules) is the total accumulation of that work.

Symbol Definition and SI Units
SymbolQuantityStandard UnitUnit Abbreviation
EElectrical EnergyJouleJ
PPowerWattW
VVoltage (Potential Difference)VoltV
ICurrentAmpereA
tTimeSeconds
RResistanceOhmΩ

Depending on which variables you know, you can substitute Ohm's Law (V = I × R) into the base equation to derive three primary working forms:

  • Base Form: E = V × I × t
  • Resistance Form: E = I² × R × t (Useful for calculating heat dissipation in wires)
  • Voltage Form: E = (V² / R) × t (Useful when load resistance and supply voltage are fixed)

Rearranged Forms for Circuit Analysis

On the bench, you rarely just solve for E. You usually know your energy budget and need to find the time, current, or required voltage. Here are the rearranged forms solving for each variable:

  • Solve for Power (P): P = E / t
  • Solve for Time (t): t = E / P
  • Solve for Voltage (V): V = E / (I × t)
  • Solve for Current (I): I = E / (V × t)
  • Solve for Resistance (R): R = E / (I² × t)

Assumptions, Boundaries, and Unit Traps

When the Formula Applies (and Its Assumptions)

This formula assumes a steady-state DC circuit or a purely resistive AC circuit where RMS values are used. It assumes 100% efficiency in the load unless a specific efficiency multiplier is added. It also assumes the voltage and current remain constant over the time period t. If the current fluctuates (like a motor under varying mechanical load), you must use integral calculus (E = ∫ P dt) or log the average power over the interval.

Realistic Answer Magnitudes

To build intuition, you need to know what a realistic Joule looks like. One Joule is roughly the energy required to lift a small apple one meter against Earth's gravity. In electrical terms, it is 1 Watt of power sustained for 1 second. A standard AA alkaline battery holds about 10,000 to 15,000 Joules. A 12V 100Ah LiFePO4 battery holds 4.32 Megajoules (4,320,000 J). If your bench calculation yields 40 Joules for a 100W heater running for an hour, your math is broken.

Unit Mistakes That Break the Math

The most common way hobbyists brick their sizing calculations is by mixing time bases. The SI unit for time in the Joule formula is the second. If you multiply Watts by hours, you do not get Joules; you get Watt-hours (Wh).

1 Watt-hour = 3,600 Joules.

Another fatal trap is leaving current in milliamps (mA) or microamps (μA) without applying the 10-3 or 10-6 scientific notation multiplier. 5V × 20mA × 10s is not 1,000 Joules; it is 1 Joule (5 × 0.020 × 10).

Worked Examples: From Bench to Battery Bank

Problem 1: Sizing a Dashcam Parking Mode Heater

Scenario: You are designing a 12V DC resistive heating element to keep a dashcam battery above freezing. The element draws 2.5 Amps at 12 Volts. You need to know how much energy it consumes if left on for 45 minutes to ensure it won't drain the car's 50Ah starter battery below 80% state of charge.

Setup: V = 12V, I = 2.5A, t = 45 minutes.

Step 1: Convert time to SI seconds.

t = 45 min × 60 s/min = 2,700 seconds.

Step 2: Apply the base formula with unit tracking.

E = V × I × t

E = 12V × 2.5A × 2,700s

E = 30W × 2,700s

Outcome: E = 81,000 Joules (or 81 kJ).

Verification: 30W × 0.75 hours = 22.5 Wh. 22.5 Wh × 3,600 J/Wh = 81,000 J. The math holds.

Problem 2: Arduino Nano Soil Sensor Sleep Current

Scenario: An Arduino Nano is reading a soil moisture probe. It operates at 5V. It stays in deep sleep drawing 150μA (microamps) for 24 hours between 1-second wake cycles. How much energy does the sleep state consume in one day?

Setup: V = 5V, I = 150μA, t = 24 hours.

Step 1: Convert current to Amps and time to seconds.

I = 150 × 10-6 A = 0.00015 A.

t = 24 hrs × 3,600 s/hr = 86,400 seconds.

Step 2: Calculate Energy.

E = 5V × 0.00015A × 86,400s

E = 0.00075W × 86,400s

Outcome: E = 64.8 Joules.

To translate this to battery terms: 64.8 J / 3,600 = 0.018 Wh. A standard 3.7V 2000mAh 18650 cell holds roughly 7.4 Wh, meaning the sleep current alone could theoretically run for over 400 days.

Real-World Scenario: The ESP32-CAM Off-Grid Failure

Formulas on a whiteboard often survive contact with reality, but hardware implementations rarely do. Here is a narrative walkthrough of a real-world off-grid sizing failure that highlights the limits of the basic energy formula when hardware parasitics are ignored.

The Goal: Run an ESP32-CAM module off a single 3.7V 3000mAh 18650 cell, taking one photo every hour and transmitting via WiFi, with a small 2W solar panel topping it up.
  1. The Setup (Theoretical Math): The ESP32 deep sleep current is documented at roughly 10μA. The wake-and-transmit cycle takes 3 seconds and draws an average of 300mA. Using the weighted average formula, the theoretical average current draw was calculated at ~0.25mA. At 0.25mA, a 3000mAh battery should last 12,000 hours (500 days) before needing a solar recharge.
  2. The Numbers (Bench Test): We wired the ESP32-CAM to a Nordic Power Profiler Kit II to measure actual energy over a 1-hour cycle. The sleep current wasn't 10μA; it was pulling 8.5mA continuously.
  3. The Outcome: Deployed in the field, the 18650 cell was completely dead in 6 days. The solar panel couldn't keep up with the 8.5mA continuous drain, and the system browned out during the night.
  4. What Went Wrong: The physics formula E = V × I × t was perfectly accurate, but the input variable (I) was wrong. The bare ESP32 chip draws 10μA in deep sleep. However, the popular AI-Thinker ESP32-CAM development board includes an AMS1117 3.3V LDO voltage regulator and a CP2102 UART bridge chip. These support components have a combined quiescent (idle) current draw of roughly 5mA to 10mA. They do not shut off when the ESP32 enters deep sleep. Furthermore, the 300mA WiFi TX spike caused a voltage sag on the aging 18650 cell, triggering the battery's internal BMS low-voltage cutoff prematurely.

The Fix: We switched to a custom PCB using a switching buck converter (like the TPS62740) with a sub-1μA quiescent draw, and added a hardware MOSFET to physically cut power to the camera module during sleep. The revised average current dropped to 0.15mA, and the system has survived three winters.

Translating Joules to Watt-Hours for Practical Sizing

While the Joule is the correct SI unit for the physics formula for energy, battery manufacturers and electrical utilities do not sell energy in Joules. They sell it in Watt-hours (Wh) or Amp-hours (Ah). According to the NIST Guide to the SI, the Watt-hour is a non-SI unit accepted for use in specific commercial contexts.

To bridge the gap between bench physics and purchasing batteries, use this conversion framework:

  • Joules to Watt-hours: Divide by 3,600. (e.g., 81,000 J / 3,600 = 22.5 Wh)
  • Watt-hours to Amp-hours: Divide by the nominal battery voltage. (e.g., 22.5 Wh / 12V = 1.875 Ah)

When sizing a battery bank using the energy formula, always apply a Depth of Discharge (DoD) derating factor. If your math dictates you need 1,000 Wh of energy, and you are using LiFePO4 chemistry (typically rated for 80% DoD to preserve cycle life), you must purchase a battery with a nameplate capacity of at least 1,250 Wh (1,000 / 0.80). For lead-acid AGM batteries, that derating factor drops to 50%, meaning you would need a 2,000 Wh bank to safely extract 1,000 Wh of usable energy.

For deeper insights into managing these energy states in microcontrollers, review the Espressif ESP-IDF Power Management documentation, which details how to programmatically shut down specific silicon blocks to minimize the I variable in your energy equations.