Blog

Your ESP32 Worked on the Bench. Then It Shipped. Here's What Actually Breaks.

Your ESP32 Worked on the Bench. Then It Shipped.

I work on the messy end of IoT deployments—companies call when devices drop offline right before a deadline, and I'm the one who has to fix it fast.

March 2024, 36 hours before a client's field demo. Three units, all within 30 feet of the router, all cycling between connected and offline. The rush replacement would've burned $12,000 in spares and cost them the demo slot. That's the kind of call I get.

We fixed it in under an hour. The problem had nothing to do with Wi-Fi.

The Problem You Think You Have

When a device drops offline, the surface symptom is almost always the same: bad Wi-Fi. Signal looks fine one minute, connection dies the next. The router hasn't changed. The firmware hasn't changed. But something clearly isn't working.

So the usual round of fixes begins: swap the antenna, change the channel, add a repeater, reflash the firmware, replace the router. Sometimes it works for a day. Usually it comes back.

In my experience, roughly 20% of "Wi-Fi problems" in the field are actually radio-frequency problems—wrong antenna type, metal obstruction, distance beyond spec, or a router with a real bug. The other 80% are something else entirely, and the Wi-Fi radio just happens to be the first module to raise its hand.

That's the difference between a two-hour fix and a three-day fire drill.

The Problem You Actually Have

Here's what I find most often, ranked by how frequently they show up in real deployments.

1. Voltage drop at the end of the cable

This is the number one cause, by a wide margin. Any Espressif device on Wi-Fi draws about 240mA on average during transmission, with peak current spikes in the 200–350mA range depending on the specific SoC. If your power source is two meters away and the cable is 28 AWG, that run eats a chunk of your supply—and the chip notices.

Quick math: 28 AWG copper is roughly 0.21Ω per meter. Two meters, two conductors (power + ground), that's about 0.84Ω of round-trip resistance. At 250mA transmit current, that's a 0.21V drop. If your supply is 3.3V, the chip sees about 3.09V under load—right at the edge of the ESP32's 3.0V minimum. Longer runs or thinner wire push it below 3.0V, and the brownout detector (default threshold around 2.43V) resets the chip. The logs show "Wi-Fi disconnected."

Here's something vendors won't tell you: in almost any firmware log, a brownout reset looks identical to a Wi-Fi disconnect. Without a hardware debugger or a scope on the supply rail, most engineers never distinguish the two.

I assumed "3.3V power supply" meant 3.3V at the chip. Didn't verify. Turned out at the end of five meters of 28 AWG wire, we were reading 2.7V under load. That was a $400 spare-parts order and a lost afternoon I haven't repeated since.

2. Pinout choices that work on the bench but fail in the field

The second big one is a wrong Espressif ESP32 pinout decision that looks fine during prototyping and falls apart in production. Two patterns account for most of these:

  • Strapping pins. GPIO0, GPIO2, GPIO5, GPIO12, and GPIO15 all have boot-time behavior. If your external circuitry pulls them to the wrong state at power-on, the chip can fail to boot cleanly, or boot into a mode you didn't intend. The failure is often intermittent.
  • Input-only GPIOs. GPIO34 through GPIO39 are input-only on the original ESP32—they don't have internal pull-up or pull-down resistors. If you wire one of these to drive a relay or an LED, it'll work sometimes. The "sometimes" is the problem.

These bugs are nasty because they don't show up in a controlled lab environment. Temperature shifts, power sequencing, or an enclosure that changes the capacitance of a nearby trace can all flip a borderline pin into a failure. Back in 2022 we shipped a batch where GPIO12 was being pulled high at boot by the customer's external load. Worked on 40 out of 45 units. Cold mornings, it worked on 32. We air-freighted replacements at $6,000 plus a day of lost production. Now every schematic review has a mandatory checklist line for strapping pins.

3. Antenna and enclosure interaction (yes, but third)

This one is real, but it's lower on the list than most people think. Metal enclosures, lithium batteries, and copper pours on the back of LCD panels can all shift the antenna's impedance and detune it. The fix is usually straightforward—move the antenna, cut a slot in the enclosure, add a ground plane—but it only helps if the problem is actually RF.

To be fair, the reason people jump to this explanation is that it's the most visible one. You can see the antenna. You can't see the voltage sag at the chip. But that's exactly why you check the boring stuff first.

What This Actually Costs

The real cost of these bugs isn't the parts or the engineering hours. It's the timing.

A typical "Wi-Fi drops offline" complaint takes two to three days of engineering time to trace back to the actual cause—longer if the device is already in the field and only fails under specific conditions. When you're shipping to a client's production line or a demo event, two days is the difference between a recovery and a cancellation.

I've watched companies spend $8,000 air-freighting replacement units because they didn't want to spend $30 on a proper voltage measurement at the cable end. I've also watched a team spend six weeks "optimizing firmware" on a bug that turned out to be a missing pull-down resistor on a strapping pin. Both stories end with the same lesson: cheap diagnostics are expensive when they're done wrong.

There's a second cost that's harder to see. If every deployment requires a week of field testing to shake out these issues, your release cycle is permanently one week longer than it needs to be. That's not a process. That's a tax you pay for not knowing the failure modes.

And the worst part: an informed customer asks better questions. I'd rather spend ten minutes walking a client through power budgeting than spend ten hours chasing a disconnect that turns out to be a wire gauge problem.

The Fix Is Boring (And That's the Point)

There's no clever trick here. The fix is a set of habits, applied consistently.

Step one: measure voltage at the end of the cable, under load. Put a multimeter directly across VCC and GND at the device, then run a real Wi-Fi transmission. Watch the minimum reading. If it drops below 3.1V, you have a problem—either increase the wire gauge, shorten the cable, or upgrade the supply. Don't overthink it.

The multimeter matters more than people realize. A cheap meter often doesn't sample fast enough to catch the millisecond-scale current spikes during Wi-Fi transmission. You'll see a stable voltage on the display while the chip is actually seeing a brownout. Min/max or peak-hold mode is the minimum requirement. If you're doing this work in factory floors, server closets, or outdoor cabinets, a handheld electrician-grade meter—something built to be dropped, carried, and read in poor lighting—is often more useful than a lab bench meter. Fluke and similar tools are popular for a reason: single-hand operation, backlighting, and a continuity beep that doesn't take two hands to trigger.

Step two: run a voltage drop calculation on the worst case, not the average. Use an online voltage drop calculator and input the peak transmit current your specific Espressif SoC draws, the longest cable run you'll ship, and the thinnest wire you'll use. If the calculated drop exceeds 0.2V, fix it at the design stage. Don't wait for a customer complaint to find out.

Step three: cross-check every pin against the official Espressif ESP32 pinout documentation. Strapping pins, input-only pins, JTAG pins, and the flash-occupied pins—all four groups need to be explicitly marked in your hardware design rules. New board comes in, run the checklist. It takes fifteen minutes. It saves weeks.

Step four: power chain goes blue chip standard. Everyone spends time comparing chip specs. The cables, connectors, and LDOs often get the "good enough" treatment. Those parts cost pennies more, but a single unreliable connector can stop a production line for three days. Our internal rule is simple: chip compares on specs, power chain compares on blue chip reliability—proven vendors, rated margins, no shortcuts.

None of this is exciting. That's the point. The bugs that cause the most expensive field failures are the ones nobody wants to spend time preventing, because they're boring and they feel like they shouldn't happen. They do happen. Every time.

The One Thing I’d Do First

If you only take one action from this article, make it this: put a real multimeter on the end of the cable, under real transmit load, on the first prototype. Do it before firmware gets written. Do it before the enclosure design is frozen.

That single measurement catches the majority of field failures I've been called in to fix. When a client tells me the Espressif device on Wi-Fi keeps dropping, my first question is always the same: "What's the minimum voltage at the device under load?" Nine times out of ten, nobody's measured it. When they do, the problem usually stops being mysterious.

The good news is that the diagnosis is cheap and the fix is usually a wire gauge change, a shorter cable, or a better power supply. The bad news is that you have to measure it. That's the whole thing. An informed customer measures first and ships with confidence. An uninformed one ships, waits for the phone call, and pays for the lesson in rush shipping.

I know which one I'd rather be.

Soren Mikkelsen
Soren Mikkelsen

Soren Mikkelsen is a telecommunications cabling analyst covering fiber cables, coaxial cables, twisted-pair network cable, patch cords, drop cable, ribbon cable, and cable assemblies. He uses IEC 60794 and IEC 61156 test frameworks to evaluate attenuation, bandwidth, impedance, return loss, bend radius, tensile load, crush resistance, jacket performance, and operating temperature. His work helps network designers, installers, utilities, and procurement teams balance transmission distance, pathway constraints, environmental exposure, termination labor, maintainability, and lifecycle cost.

Leave a Reply

Your email address will not be published. Required fields are marked *