Claude Meets MicroPython: Hands-On with the ViperIDE Extension

Claude can write MicroPython just fine. The annoying part is everything after that, getting the code onto a board, connecting to the REPL, figuring out why the pin numbers are wrong, iterating. I wanted Claude to be able to do all of that itself, talk directly to the hardware while I watch. ViperIDE is a browser-based IDE for MicroPython and CircuitPython by Volodymyr Shymanskyy. It connects to devices over USB, Bluetooth, or WiFi and gives you a file manager, editor, and REPL terminal. If you haven’t tried MicroPython before it’s one of the easier ways to get started. ...

April 22, 2026 · 4 min · Andrew Leech

Triaging 1500 Open Issues: Local LLMs, Sonnet, and a GPU in the Closet

MicroPython has about 1500 open issues across its repos. Some of them have been there for years. A bunch are duplicates of each other, a bunch more are already fixed by PRs that got merged without anyone linking them back, and a pretty solid chunk are just noise (support questions, cross-posts, wrong-repo stuff). Nobody’s going to sit down and manually review 1500 issues against 8000+ PRs looking for connections though. ...

April 17, 2026 · 9 min · Andrew Leech

Five Hours, Five Root Causes, Crisis Averted: A Case Study in Agentic Embedded Debugging

A colleague had just reached a critical milestone, getting a stable LVGL-based UI running on our product’s 5" MIPI display. It was a significant piece of driver work: MicroPython application code on an NXP i.MX RT1176 (Cortex-M7 @ 1 GHz), driving LVGL v9 on a 720x1280 MIPI DSI touchscreen. An embedded system, not a phone or PC. The UI worked, but the on-screen keyboard was unusable. Each keypress took nearly 200ms to render, dropping to 1-2 FPS while typing, missing many keypresses entirely. For context, touchscreen input generally needs 30+ FPS (under 33ms per frame) to feel responsive, and 60+ FPS to feel smooth. We were at 5 FPS on a good frame. That performance is unusable for a client demo, let alone a shipping product, and without any obvious cause for the lag it wasn’t clear if we had a fundamental hardware/design failure or a fixable configuration issue. ...

April 13, 2026 · 16 min · Andrew Leech