11 · When it fights back
Troubleshooting & FAQ
What the diagnostics mean and the classic bench mistakes, with fixes.
Reading the diagnostics
floating pinAn input is connected to nothing. Logic inputs and MCU pins want a defined level. Wire it, or add a pull resistor.
short circuitA supply sees a near-zero-ohm path. Follow the + rail with the hover tooltip until the volts collapse.
bus contentionTwo push-pull outputs drive the same net to different levels. One of them should be an input (or use a resistor).
component burned outPast its rating for too long. Fix the design (series resistor? bigger rating?), then ⟲ Restart to fit a fresh part.
firmware errorThe uploaded image didn’t parse or crashed the boot, so the board fell back to a safe blink. Re-export for the right chip.
convergence failureThe solver couldn’t settle, usually because of an extreme circuit (ideal loops, enormous gain). Add realistic resistance.
The classics
- “My LED doesn't light.” Anode/cathode backwards, missing series resistor path, or the sim is paused, in that order of likelihood.
- “My MicroPython script didn't run.” The Code tab runs on boot: press ⟲ Restart, or Run on board. A traceback banner means a Python error. Click the Serial tab for the full trace.
- “The button does nothing in firmware.” Emulated pads have no internal pull resistors, so give the pin an external pull-down (or pull-up) like the examples do.
- “I²C finds nothing.” Scan first (
I2C(0, scl=Pin(9), sda=Pin(8)).scan()on the ESP32). No device? Check the sensor has power (3V3) and SDA/SCL aren't swapped. - “The MQ-2 alarms immediately / reads high.” That's the heater warm-up; real MQ sensors do this. Wait the ~5 s; the alarm is suppressed until it settles.
- “The e-paper shows nothing.” RAM writes are invisible until Master Activation (0x20) completes its ~1 s refresh, so poll BUSY like the badge example.
Performance
The header shows sim-time vs wall-time. Idle MicroPython boards run tens of times faster than real time thanks to an idle fast path; heavy analog benches (many switching parts) cost more. If a bench crawls, pause it while editing: the solver only runs when the sim does.