14 Hardware Prototyping Case Studies
14.1 Start With the Story
A case study is not a success story to imitate. It is a record of what the team thought was true, what the prototype revealed, and how evidence changed the next decision. An ESP32 reboot, a weak regulator, a noisy sensor lead, or a late enclosure problem matters because it shows how a visible symptom led to a measured cause.
Read these examples as investigation patterns. For each case, follow the question, symptom, measurement, revision, verification, and handoff note so your own prototype failures become useful evidence instead of anecdotes.
14.2 ESP32 Wi-Fi Reboot Case
A classic prototyping case: an ESP32 sensor node runs perfectly on the bench, but every time it connects to Wi-Fi it resets — sometimes looping forever at the join step. The instinct is to blame the code, and hours vanish adding delays and rewriting the network logic. The real fault is almost always power: the Wi-Fi radio’s current surge is browning out the supply.
Inspect Hardware Case-Study Route and 4 Evidence in Figure 14.1 for esp32 wi-fi reboot case. Before acting on esp32 wi-fi reboot case, keep both Hardware Case-Study Route and 4 Evidence visible in it. what decision comes next marks the next check.
Read Hardware Case-Study Route with 4 Evidence in Figure 14.1 for esp32 wi-fi reboot case. Step through it starting at Hardware Case-Study Route, crossing 4 Evidence, and closing on what decision comes next. A failure at 4 Evidence changes the route from Hardware Case-Study Route. Carry Hardware Case-Study Route into the evidence for esp32 wi-fi reboot case.
This case teaches a durable prototyping lesson: when a failure correlates with a specific hardware activity (radio TX, motor start, SD write), suspect the power rail before the firmware. The symptom lives in software (a reset), but the cause is a volt-drop. The review route matters because the same visible reset can have several causes: a weak USB cable, a low-current regulator, a missing local capacitor, a bad ground return, or a firmware watchdog that fires after the radio stalls. A case study should preserve what was observed before it claims why the observation happened.
Record the scenario as evidence: hardware revision, regulator part, battery or USB source, cable length, firmware build, Wi-Fi access point, radio mode, reset reason, and the exact step that reproduces the loop. Then add the measurements that changed the team’s mind. For an ESP32 brownout case, the decisive evidence is usually a 3.3 V rail capture during association or transmit, plus a log that shows the reset reason. That record lets a later team reuse the lesson without copying a lucky fix into a different board.
The tell: a reset that fires exactly when the radio transmits is a brownout, not a bug. Measure the rail before you touch the code.
14.2.1 Overview Knowledge Check
14.3 Measure Current Surge and Rail
The ESP32 draws perhaps 20-80 mA idle, but when its power amplifier keys up to transmit Wi-Fi, current spikes to roughly 300-500 mA in microseconds. If the supply — a marginal LDO, a coin cell, a thin USB cable, or long thin PCB traces — cannot deliver that surge fast enough, the local 3.3 V rail sags. The ESP32’s brownout detector trips near ~2.7 V and resets the chip.
Diagnosis over guessing. Put an oscilloscope on the 3V3 pin and watch it during a connection attempt. Probe at the module power pin and ground close to the module, not only at the bench supply terminals. Trigger on the reset line, the EN pin, or the falling edge of the rail so the capture shows the moment before reboot. If you see the rail dip sharply and the reset land at the bottom of the dip, the diagnosis is confirmed — no code change could fix a 2.6 V rail. This is the “measure, don’t guess” discipline of hardware prototyping: the scope trace names the fault in seconds where days of firmware edits would not.
Inspect screen waveforms and TIME/DIV control in Figure 14.2 for measure current surge and rail. At the decision point in measure current surge and rail, compare screen waveforms with TIME/DIV control in it. CH1 and CH2 probe inputs limits the claim.
Read screen waveforms with TIME/DIV control in Figure 14.2 for measure current surge and rail. Review its installation around the visible screen waveforms, TIME/DIV control, and CH1 and CH2 probe inputs. Placement around TIME/DIV control still needs testing. That is the review order required by measure current surge and rail.
A good case record then separates tests that confirm the cause from tests that only mask it. Changing the USB cable, swapping the regulator board, lowering Wi-Fi transmit power, adding 47-100 uF near 3V3, or powering from a current-limited bench supply are useful if each change is made one at a time and followed by the same connection test. Adding random delays, retry loops, or a later watchdog reset may make the demo appear calmer while the rail is still outside spec. The next gate should be a repeatable capture in the worst mode: cold start, scan, association, DHCP, TLS or MQTT connection, and first publish.
| State | ESP32 current | Effect on a weak rail |
|---|---|---|
| Idle | ~20-80 mA | Rail holds |
| Wi-Fi TX burst | ~300-500 mA | Rail sags toward brownout |
14.3.1 Practitioner Knowledge Check
14.4 Size the Bulk Capacitor
Before applying the specification, inspect the real electrolytic capacitor below: its package, terminals, scale, and installation context are part of the engineering evidence.
Carry those visible constraints into the surrounding analysis; the abstract symbol or capability name does not capture mounting, wiring, protection, or service access.
The fix is a local bulk capacitor near the module’s power pin that supplies the fast current surge until the regulator catches up. Size it from the charge the transient demands: Q = I x dt, and C = Q / dV for an allowed voltage droop dV.
Worked example. Suppose the radio pulls an extra 300 mA and the regulator takes ~10 us to respond, and you can tolerate a 0.1 V droop. Then Q = 0.3 A x 10 us = 3 uC, and C = 3 uC / 0.1 V = 30 uF. So a 47-100 uF bulk capacitor placed close to the pin comfortably rides out the surge, paired with a small 0.1 uF ceramic for the high-frequency edge. Equally important, the regulator (or battery) must be rated for the peak, not the average — a 250 mA LDO cannot sustain a 400 mA burst no matter how large the capacitor.
Inspect cylindrical aluminium cans and vent markings in Figure 14.3 for size the bulk capacitor. To challenge the claim in size the bulk capacitor, follow the change from cylindrical aluminium cans to vent markings on it. Use paired radial leads as the boundary.
Read cylindrical aluminium cans with vent markings in Figure 14.3 for size the bulk capacitor. Examine the article by locating the cylindrical aluminium cans, then the vent markings and paired radial leads. The pictured paired radial leads makes setup reproducible. The conclusion in size the bulk capacitor now has a named boundary.
The deeper point is that the revision must follow the measurement. The scope said “the rail drops ~0.5 V for ~10 us during TX,” and that measurement sized the capacitor and set the regulator spec. The same evidence also checks placement and part choice: a capacitor with high ESR, long leads, or a long return path may store enough charge on paper while failing at the module pins. A practical revision pairs bulk storage with low-ESR ceramic decoupling, short traces, a ground return that does not share motor or relay current, and a regulator whose transient response is documented near the required load step.
Verification should repeat the failing operating mode, not only confirm that the device boots once. Capture the rail across repeated Wi-Fi scans, association attempts, retries, and the first high-current transmission at the highest expected TX power. Log the reset reason before and after the revision, and keep the old capture beside the new one in the case record. That comparison turns a hardware fix into transferable engineering knowledge: future reviewers can see the symptom, the arithmetic, the physical placement, the rejected alternatives, and the gate that allowed the prototype to move forward.
14.4.1 Under-the-Hood Knowledge Check
14.5 Learning Objectives
By the end of this chapter, you should be able to:
- Review hardware prototype case studies using an evidence timeline.
- Separate observed failure symptoms from guessed root causes.
- Compare hardware alternatives using requirements, measurements, and risks.
- Decide whether a prototype is ready for another revision, PCB layout, pilot handoff, or more bench work.
- Write case-study records that help future teams avoid repeated mistakes.
14.6 Read Case Studies as Evidence
A useful case study follows the build, not the story. It should show what the team believed, what they built, what failed, what they measured, what changed, and how the change was verified.
14.7 Evidence Timeline
Read every scenario as a timeline. A timeline makes it harder to skip from “it failed” to “we know why” without measurement.
Inspect Assumption and step 4 in Figure 14.4 for evidence timeline. To challenge the claim in evidence timeline, use it to distinguish Assumption from step 4. The remaining question is step 8.
Read Assumption with step 4 in Figure 14.4 for evidence timeline. Trace the commitments in it from Assumption through the later step 4 milestone to step 8. The later step 8 stage does not erase the Assumption gate. Use that distinction when deciding evidence timeline.
14.8 Incremental Examples
14.8.1 Environmental Sensing Node
Situation: A battery-powered environmental node reads multiple sensors and reports periodically. The proof board works on the bench, but field tests show missing reports and inconsistent readings.
Observed symptoms:
- Reports arrive in clusters instead of at the expected interval.
- One sensor sometimes returns implausible readings after wake.
- The device recovers after a manual reset.
Evidence gathered:
- Boot log showing wake reason and firmware version.
- Power trace across sleep, wake, sensor read, and transmit modes.
- Bus capture around the failing sensor read.
- Field photo showing cable strain and sensor placement.
Decision: The team keeps the same controller but revises the wake sequence, adds a sensor-ready check, moves strain relief, and records the field condition that must be checked again before handoff.
14.8.2 Actuator Control Prototype
Situation: A controller drives a relay or motorized actuator. The actuator works in isolation, but the controller resets during real load switching.
Review evidence:
- Source and regulated rail measured during load start.
- Reset line captured during the fault.
- Actuator wiring, return path, and protection parts documented.
- Firmware log proving whether the reset happens before or after the command.
Inspect Describe the exact symptom and operating mode and Reproduce with the smallest setup in Figure 14.5 for actuator control prototype. To place actuator control prototype on firm evidence, inspect how Describe the exact symptom and operating mode relates to Reproduce with the smallest setup in it. The remaining question is Reject alternate causes with recorded checks.
Read Describe the exact symptom and operating mode with Reproduce with the smallest setup in Figure 14.5 for actuator control prototype. Review it from the Describe the exact symptom and operating mode field to Reproduce with the smallest setup, then the Reject alternate causes with recorded checks disposition. Keep Reject alternate causes with recorded checks separately reviewable. Attach the next action in actuator control prototype to Reject alternate causes with recorded checks.
Possible conclusions should remain evidence-backed:
- If the rail drops during load start, revise the power path and repeat the load-start check.
- If the reset line toggles while the rail is stable, inspect reset circuitry, noise coupling, or firmware watchdog behavior.
- If the command is repeated unexpectedly, isolate firmware state and event handling.
- If the fault appears only in the enclosure, inspect heat, cable strain, grounding, and connector movement.
14.8.3 Threshold-Controlled Fan with Remote Telemetry
Situation: A DHT temperature/humidity sensor and a relay-driven fan formed a working bench demo: read the sensor, switch the relay when the reading crossed a threshold. The team then extended the same node so its readings also went out over the network to a second machine, where they were logged and plotted live instead of only driving the local relay.
Observed symptoms:
First, Near the threshold, the fan clicked on and off in short bursts instead of settling into a stable state. Next, Early bench runs had the fan running when the room felt cool and idle when it felt warm, which read like a backwards relay before anyone touched the wiring. Then, Once remote logging was added, the saved log showed the humidity column repeating the same value for many samples in a row while the temperature column changed in small steps — the team’s first guess was a stuck sensor.
Evidence gathered:
First, The switching code itself: one comparison (if temperature > 30) followed by GPIO.output(pin, 0) to close the relay and a fixed sleep(5) before opening it again — no hysteresis band and no re-check of the sensor while the relay was held on.
Next, The relay’s documented behavior: driving its control pin low is what closes the contact. That single “active low” line in the reference code was easy to miss and explained the backwards-looking fan behavior long before any wiring was actually wrong.
Then, A side-by-side of the two socket patterns in the reference material: a TCP-style handshake (connect/accept, send/recv) versus the connectionless path the team shipped for telemetry — socket.SOCK_DGRAM on both ends, sock.sendto(message, server_address) from the sensor node, sock.recvfrom(4096) on the logging machine. A dropped periodic reading was cheap to lose; a stalled TCP connection on a headless sensor node was not something worth recovering from in the field.
After that, The saved log lines next to the DHT22’s published resolution: humidity updates in whole-percent steps while temperature updates in tenths of a degree, so several identical humidity readings in a row while temperature keeps ticking is normal sensor behavior, not a stalled channel.
Decision: The team kept the single-threshold comparison but added a minimum on-time and re-check derived from the observed short-cycling, and pulled the relay’s active-low behavior out into a named constant so a future reviewer would not have to re-derive it from a datasheet comment. The telemetry link stayed on UDP — occasional loss was an acceptable tradeoff for a simpler, connectionless sensor node — but the team added a live two-pane plot (temperature and humidity, redrawn on every received reading) specifically so a flat channel was visible immediately as a shape on screen instead of being misread from a raw log column.
14.8.4 Advanced Example: PCB Readiness Review
Situation: A module stack demonstrates the concept. The team wants to move to a custom board because the prototype is physically bulky.
The right question is not “Can we make it smaller?” The right question is “Are the interfaces stable enough to commit to layout?”
Inspect Stable requirement and modes and peaks measured in Figure 14.6 for advanced example: pcb readiness review. To challenge the claim in advanced example: pcb readiness review, inspect how Stable requirement relates to modes and peaks measured in it. Keep The review stops layout when evidence is missing with the decision.
Read Stable requirement with modes and peaks measured in Figure 14.6 for advanced example: pcb readiness review. Read it from the Stable requirement field to modes and peaks measured, then the The review stops layout when evidence is missing disposition. Combining Stable requirement with modes and peaks measured hides accountability. For advanced example: pcb readiness review, record the result beside The review stops layout when evidence is missing.
PCB readiness evidence:
Decision: If those records are missing, the next revision should be an integration prototype or schematic review, not layout release.
14.8.5 Field-Test Handoff Example
Situation: A prototype works in the lab and is ready for a small field trial. The risk moves from “Can it function?” to “Can it be installed, serviced, diagnosed, and recovered?”
Field-test handoff packet:
- Assembly photos and connector orientation.
- Firmware build artifact and flash method.
- Serial settings and expected boot log.
- Installation checklist and acceptable placement range.
- Known failure symptoms and triage steps.
- Data-quality checks and stop conditions.
- Recovery plan for reset, reflash, sensor replacement, or safe removal.
Decision: A field test is ready only if someone other than the original builder can follow the record.
14.9 Decision Matrix
Use a decision matrix to summarize scenarios without turning them into slogans.
Inspect Symptom and Likely revision in Figure 14.7 for decision matrix. To ground decision matrix, inspect how Symptom relates to Likely revision in it. The route closes at revise wake and retry.
Read Symptom with Likely revision in Figure 14.7 for decision matrix. Compare it around the contrast between Symptom and Likely revision, then check revise wake and retry. revise wake and retry turns categories into a decision. The running argument in decision matrix therefore stays bounded.
14.10 Case Study Record Template
Scenario: what the prototype is trying to prove.
Version: hardware build, firmware artifact, setup, and operating mode.
Symptom: observed behavior and reproduction steps.
Evidence: measurements, logs, captures, photos, and rejected causes.
Revision: change made and why it follows from the evidence.
Verification: test proving the revision worked.
Next gate: proceed, repeat the check, revise, or stop.
Example:
scenario=outdoor sensor node field report failure
version=integration-build-r2 firmware=field-smoke-0.6
symptom=missed reports after overnight deployment
evidence=wake-log.txt, power-trace.csv, bus-capture.png, install-photo.jpg
rejected=server outage, dead battery, missing firmware image
revision=add sensor-ready wait, improve cable strain relief, repeat wake-sequence check
verification=overnight bench cycle plus field reinstall checklist
next_gate=short field trial with stop condition for repeated missing reports
14.11 Try It Now: Build a Case Timeline
Choose one prototype issue and write the timeline before proposing a revision.
| Field | Your answer |
|---|---|
| Requirement | What behavior or environment had to be proven? |
| Version | Hardware build, firmware artifact, setup, and operating mode |
| Symptom | Observed behavior, not a guessed cause |
| Measurement | Rail, bus, log, photo, temperature, current, packet, or enclosure check |
| Rejected cause | What was checked and ruled out? |
| Revision | One change that follows from the measurement |
| Verification | Check that proves the change worked |
| Next gate | Bench repeat, layout review, pilot handoff, field stop condition, or stop |
14.12 Pick the Missing Evidence
For each case summary, name the missing evidence.
First, “The field node missed reports, so we changed the controller.”. Next, “The relay prototype resets, so we added a delay before switching.”. Then, “The module stack works, so we released a compact PCB layout.”. After that, “The lab unit works, so the installer can handle the field trial.”.
14.13 Concept Check: Evidence Before Revision
14.14 Concept Check: Match the Case Evidence
14.15 Order the Case Study Review
14.16 Common Failure Patterns
14.17 Summary
Good hardware case studies teach decision discipline. They show assumptions, prototype versions, symptoms, measurements, revisions, verification, and next gates. The value is not copying another team’s hardware choice; it is learning how evidence turns prototype surprises into better reviews.
14.18 Key Takeaway
Case studies matter when they show the evidence path: requirement, prototype choice, measured result, failure, design change, and the decision that followed.
14.19 See Also
First, Hardware Components reviews the parts that appear in these scenarios. Next, Getting Started with Hardware Prototyping covers first bench setup and early build practice. Then, PCB Design and Fabrication expands the PCB readiness and bring-up flow. After that, Hardware Prototyping Best Practices and Debugging gives the detailed debugging workflow behind these case reviews.
