How to use Claude to repair a GPU fan controller
Claude scanned an RP2040 sensor bus, wrote MicroPython fan control and resolved a boot failure after Andrew Leech wired hardware and approved deployment.
Original prompt
Shared by the source author. See source notes for context.
record the findings in a hardware.md - just the success pins, ignore the other ones. record the identified devices.
Reach people exploring AI agents
See placements →Evidence at a glance
Sourced account- Source author
- Andrew Leech
- Original account
- Read the source ↗
- Published
- Source link checked
- Reported result
- Replacement fan firmware started after a cold reset, read both sensors and drove fans from the hotter temperature after explicit deployment approval.
- Human involvement
- Leech diagnosed and soldered the replacement controller, chose temperature behavior and explicitly withheld deployment until later approval.
A linked account supports attribution. It does not mean we independently reproduced its result.
Report an issue with this case
Open correction emailOpens your email app with the case link included. Nothing is sent automatically.
How the agent did it
- Leech replaced and wired the damaged controller before starting the coding session.
- Claude scanned I2C pin orientations, identified sensors and wrote the control loop.
- Leech reviewed the fan curve and approved deployment after temporary verification.
Andrew Leech replaced a burned fan-controller microcontroller on his dual-V100 carrier board, then used Claude Code to bring up its replacement firmware. He performed the physical diagnosis, removed the failed chip and wired an RP2040-Zero to the sensor and fan-control connections.
Claude used mpremote to inspect the MicroPython device. After resolving a serial-port permission problem, it checked pull-ups and scanned candidate pin orientations. The working bus appeared on GP26 and GP27 with two LM75-family temperature sensors. The transcript records live temperature reads before the controller logic was built.
The agent wrote an asynchronous sensor loop and a PWM fan driver. Leech specified that both fans should follow the hotter sensor and asked to review the temperature curve before deployment. The implementation included full cooling if both sensor reads failed. Initial verification ran without writing the device's flash.
After Leech approved deployment, an old boot script prevented startup because it imported a missing network module. Claude traced the problem, and Leech authorized removal. The account records a successful cold reset with automatic sensor-based fan control. The agent handled firmware investigation and iteration; soldering, hardware judgment and final release remained explicit human checkpoints.
Prompt
Original prompt
Source: Blog · Andrew Leech
Frequently asked questions
What hardware work did the human perform?
Diagnosis, chip removal and wiring the RP2040-Zero replacement.
Why did the first deployed boot fail?
A leftover boot.py imported a network module absent from this firmware build.
What happened if both sensor reads failed?
The generated control logic used full cooling as its failure response.
More details
About this account
Claude used mpremote to inspect the MicroPython device. After resolving a serial-port permission problem, it checked pull-ups and scanned candidate pin orientations. The working bus appeared on GP26 and GP27 with two LM75-family temperature sensors. The transcript records live temperature reads before the controller logic was built.
Primary repair narrative and condensed session transcript opened. Physical diagnosis, wiring and deployment approval were human. Successful cold-reset fan control is reported; do not generalize wiring to other boards. Original prompt excerpt retained from the source.
Credit: Andrew Leech on Blog
Source published
Added to Agents In Use
Source checked
Tools and topics
Claude Code · MicroPython · mpremote · RP2040-Zero
Hardware repair · Fan firmware
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.