Fixing a dead Sigma lens with a fifty-cent fuse
I have a minor camera gear addiction, and as a form of self-imposed rehab, I only buy lenses that are broken. It sounds stupid, and it probably is, but there is a specific, quiet joy in bidding on eBay listings marked “for parts or not working.” You get beautiful, high-end aluminum barrels for less than a quarter of their retail value. If you fix them, you feel like a genius. If you fail, well, you bought a very pretty paperweight.
So when Anthony Kouttron spotted a non-responsive Sigma 45mm f/2.8 DG DN lens on eBay for $58.65, he did what any self-respecting hardware hacker would do: he bought it immediately.
The story in one sentence
Anthony bought a dead Sigma mirrorless lens, traced its internal power rails down to a Texas Instruments buck converter, and fixed the entire device by replacing a single blown 2A surface-mount fuse.
--> // making it invisible to querySelectorAll. // // `data-cfasync="false"` keeps this rescue script executable even when // Rocket Loader is active. It rescues module scripts via two strategies: // 1. Query the DOM for type$="-module" + src (covers case A) // 2. Regex-parse the raw HTML for commented-out script tags (covers case B) // Dynamically-created scripts bypass Rocket Loader entirely. (function () { if (window.__markdyRescue) return; window.__markdyRescue = true; var rescued = false; function rescueModuleScripts() { if (rescued) return; rescued = true; var srcs = []; // Strategy 1: Rocket Loader kept the tag in DOM but changed the type. // type="module" → type="{uuid}-module" (still has src attribute) document.querySelectorAll('script[type$="-module"][src]').forEach(function (s) { srcs.push(s.src); }); // Strategy 2: Rocket Loader COMMENTED OUT the script tag entirely: // // These are invisible to querySelectorAll, so we parse the raw HTML. // We handle both attribute orderings (type-first or src-first). var html = document.documentElement.innerHTML; var reSrcFirst = //g; var reTypeFirst = //g; var m; while ((m = reSrcFirst.exec(html)) !== null) { srcs.push(m[1]); } while ((m = reTypeFirst.exec(html)) !== null) { srcs.push(m[1]); } // Re-inject each found src as a real module script. // Deduplicate first, then inject. Dynamically-created scripts bypass // Rocket Loader entirely. Modules with the same URL are only executed // once by the browser (cached), so re-injecting already-running scripts // is safe. var seen = {}; srcs.forEach(function (src) { if (seen[src]) return; seen[src] = true; var fix = document.createElement('script'); fix.type = 'module'; fix.src = src; fix.setAttribute('data-cfasync', 'false'); document.head.appendChild(fix); }); } // Rescue when user clicks the placeholder (fallback if autoplay failed). document.addEventListener('click', function (e) { var t = e.target; if (t && typeof t.closest === 'function' && t.closest('.markdy-placeholder')) { rescueModuleScripts(); } }); // Rescue automatically after a short delay for autoplay. // Only fires if initAll() never ran (no data-markdy-init on any root). setTimeout(function () { if (document.querySelector('.markdy-root:not([data-markdy-init])')) { rescueModuleScripts(); } }, 1500); }());Why this hit the front page
If you ask someone what’s inside a camera lens, they will probably tell you about glass elements, helicoids, brass mounts, and zoom rings. That was true in 1990. Today, a modern mirrorless lens is a tiny, highly dense embedded computer. It has a 32-bit microcontroller, dedicated motor drivers running over SPI, power regulators, flash memory, and sometimes even a USB-C port for firmware updates.
The HN community upvoted this because Kouttron treated a complex, proprietary piece of consumer electronics not as a black box to be sent to a service center, but as a board that could be diagnosed with a multimeter and a schematic.
When he mounted the lens to his Lumix S5, it clicked in place, but nothing worked. No autofocus, no electronic aperture control, no dials registering. The glass was pristine, which suggested the problem was purely electrical.
So he took it apart.
Tracing the Electrons
Modern electronics are intimidating to debug because there are no schematics. But Kouttron shares a great rule of thumb: always start with the input power lines.
Using a multimeter in continuity mode, he traced the thick power lines from the lens’s 10-pin L-mount contact block. They led through vias to the opposite side of a C-shaped PCB, straight into a Texas Instruments TPS62140RGTR Buck converter.
Beside the buck converter was a large inductor marked “2R2” (2.2 µH) and a tiny 0603-sized component labeled “N”. In camera electronics, small two-terminal packages with a single letter on top are almost always surface-mount (SMT) fuses. A quick tap with the multimeter probes confirmed the diagnosis: the fuse was open. It had sacrificed itself to protect the rest of the board.
Kouttron desoldered the dead fuse and swapped in a Panasonic 2A 32V fast-blow fuse (part number ERB-RE2R00V).
He booted the camera. The lens focused. The aperture ring clicked. It worked perfectly.
Going down the rabbit hole
What makes Kouttron’s write-up so satisfying is the “what if” section. Had the fuse been intact, he was ready to go much deeper. He detailed a diagnostic path that reads like an embedded systems engineering checklist:
- Powering the Microcontroller: The board uses a Toshiba TMPM341FYXBG microcontroller (a 32-bit ARM Cortex-M3). Probing it is hard because it’s a BGA package. Kouttron’s solution? He found that Sigma uploaded their 3D CAD files to GrabCAD for free. He could 3D print a fake lens body as a jig, mount the PCB to the camera, and probe the active 3.3V lines live.
- Sniffing the Bus: He located unlabelled test pads near the micro, likely used for a bed-of-nails test jig at the factory. He planned to hook up a logic analyzer to search for UART signals and read the boot sequence.
- Dumping Flash: There is an 8-pin GigaDevice SPI flash package (GD V4CE 2030) holding the firmware. He was ready to desolder and dump it to inspect for corruption.
- Motor Control: The autofocus motor is driven by a Rohm BU24020GU motor controller. He showed how to identify the decoupling capacitors to verify if the driver was receiving power.
| Feature | Vintage Lens Repair | Modern Lens Repair |
|---|---|---|
| Core Mechanics | Helicoil brass threads, manual glass | BGA microcontrollers, flex cables, motors |
| Main Failures | Dried grease, fungal growth, dust | Blown fuses, torn flex ribbons, dead ICs |
| Key Tools | Lens spanners, glass cleaners, grease | Soldering tweezers, logic analyzers, multimeters |
| Diagnosis | Optical inspection, turning rings | Live voltage probing, sniffing UART lines |
| Best Resource | Camera repair manuals (1970s) | GrabCAD models from Sigma, TI datasheets |
What the comments are arguing about
The Hacker News thread jumped straight into the physics of fuses and screws:
- Fuses don’t save silicon: User
exmadscientistpointed out a classic engineering misconception. Kouttron wondered if the propagation delay of the TI buck converter caused a spike that blew the fuse. The commenter corrected this: “The first rule of fuses… is that fuses are not there to save your parts… Fuses exist to prevent fires. Even a fast fuse is very, very slow compared to semiconductors. I’ve seen transistors blow up to ‘protect’ fuses.” - The JIS Screw Trap: User
CarVacwarned readers about Japanese Industrial Standard (JIS) screws. While they look like Phillips screws, using a Phillips driver will strip them almost every time. In Japanese camera gear, using proper JIS drivers is mandatory. - Lenses as Computers: User
makeitdoubleobserved that we’ve moved far from the days of “metal and glass.” Lenses now have firmware updates, customization apps, and even USB-C ports, turning them into fully adjustable computers.
A Quiet Win
In the end, Kouttron’s repair took less than an hour, though he admits the write-up took ten times longer.
But it’s a beautiful reminder of what the internet used to be: a place where people solved tiny, specific engineering problems, drew diagrams, documented their findings, and shared them for free without trying to sell you a course or a SaaS subscription.
It makes you want to go on eBay, buy a broken lens, and dust off your multimeter.
Discussion on Hacker News · Source: salvagedcircuitry.com · Submitted by transistor-man
Hoang Yell
A software developer and technical storyteller. I read Hacker News every day and retell the best stories here — in English and Vietnamese — for curious people who don't have time to scroll.