Setup and Requirements
Measuring the average power consumption of a radio device, such as a Meshtastic ESP32 node, requires appropriate equipment and basic power measurement knowledge.
Power Meter
To measure power usage accurately, you need a reliable power meter. This could be a bench power supply with voltage and current readings, a USB power meter, or similar tools. The key is being able to read volts, amps, or watts over time. Continuous tracking is essential—not just instant readings. Ensure your meter is sensitive enough to detect low current draw, as some Meshtastic nodes consume as little as 0.005A at 5V. The most important feature is the ability to record amp-hours or watt-hours, which typical multimeters cannot do.
What Are We Measuring?
Power is measured in watts. To calculate how much power your ESP32 device consumes, multiply volts by amps. For example, 5V × 50mA = 250mW (or 0.25W). This represents instantaneous power consumption, but Meshtastic nodes operate in varying states—mostly receiving, occasionally transmitting, which uses significantly more power. Therefore, measuring only receive mode is insufficient. What’s needed is the average power consumption over time, expressed in watt-hours. For instance, if a node consumes 250mW for one hour, over 24 hours it uses 6Wh.
Duty Cycle
Meshtastic radios consume less power when receiving, and much more when transmitting. The duty cycle defines the percentage of time the ESP32 node is transmitting. This could be 5%, 10%, or 25%, depending on your use case. Instead of relying on datasheet values, perform a real-time power test over at least one hour. Longer tests (2–6 hours) yield more accurate results under realistic Meshtastic network conditions.
Test Conditions
Testing is straightforward but requires understanding how Meshtastic nodes behave in a mesh network.
Background Network Activity
Meshtastic ESP32 nodes regularly send network beacons in the background. These are not user messages but signals indicating node presence and GPS location. Other nodes acknowledge these beacons. This baseline traffic involves both receiving and transmitting, contributing to overall power consumption. While some transmissions can be reduced, they must be accounted for in your power usage analysis.
Simulated Testing
To simulate message traffic, adjust how often the Meshtastic node broadcasts GPS location updates. Default intervals are 2 minutes for GPS-enabled nodes and 15 minutes for fixed-position nodes. Shortening this interval increases transmission frequency and power usage. You can adjust this via the Meshtastic mobile app or CLI to simulate realistic traffic during testing.
Fixed Position Broadcast Interval
Solar-powered base stations often lack GPS modules to save power. In Meshtastic, you can manually set a node’s fixed coordinates. These nodes broadcast their location every 15 minutes by default. To simulate more frequent messaging, reduce the interval to 3 minutes (16 messages/hour) or 1 minute (56 messages/hour).
Example Test Condition With Node Settings
- Three Meshtastic nodes in the network
- One node broadcasting location every 60 seconds (disable smart location)
- Test node paired to a phone via Bluetooth
- Test node set with a fixed GPS position
- Test node broadcasting location every 60 seconds (disable smart location)
Start the test at a round time (e.g., on the hour), reset prior readings on your power meter, and record the start and stop times along with the total power consumed.

Results
Your power meter should report total power used in watt-hours. Divide this value by the test duration in hours to get the average power consumption in watt-hours or milliwatt-hours. Keep this result for the next step—calculating solar panel size for your Meshtastic ESP32 node.
If your meter reports amp-hours, convert to watt-hours by multiplying by the test voltage. For example, if over a 3-hour test at 5.1V the meter shows 142mAh, then total energy used is:
5.1V × 142mAh = 724.2mWh
Divide by 3 hours to get 241.4mW average consumption. Save this figure for further calculations related to Meshtastic battery sizing.
Detailed Power Consumption and Battery Life Comparison for Meshtastic Devices
Here is a focused comparison between the nRF52840 and ESP32 in terms of power consumption and expected battery life using a 1000mAh 3.7V Li-ion battery for Meshtastic applications:
| Parameter | nRF52840 | ESP32 |
|---|---|---|
| CPU Clock Speed | 64 MHz | Up to 240 MHz |
| Active Mode Current | ~5.3 mA (CPU active) | 80–260 mA (Wi-Fi transmission peak) |
| Deep Sleep Mode Current | As low as 0.4 µA | 10–150 µA (deep sleep mode) |
| Bluetooth Low Energy (BLE) Tx | ~4.6 mA | ~30 mA |
| Wi-Fi Active Current | None (no Wi-Fi module) | 80–260 mA |
Using these typical current draws, we can estimate Meshtastic battery life as follows:
| Scenario | Estimated Current (mA) | Estimated Runtime with 1000mAh Battery (hours) |
|---|---|---|
| nRF52840 Normal Operation | 5 mA | 200 hours (approx. 8.3 days) |
| nRF52840 Deep Sleep | 0.0004 mA (0.4 µA) | 2,500,000 hours (theoretical limit) |
| ESP32 Wi-Fi Active | 150 mA | 6.7 hours |
| ESP32 Deep Sleep | 0.1 mA (100 µA) | 10,000 hours (approx. 416 days) |
