Skip to main content

steeman.be

DIY, Electronics, Homebrewing & More

Recent

Reverse-Engineering the Platinum 3100S solar inverter's RS485 Protocol

·9 mins
My roof has a Platinum 3100S solar inverter (made by Diehl AKO). I recently installed a Solar-Log 500 to read its production and feed the numbers into Home Assistant — it works, but it’s a black box I don’t control, and I’d rather read the inverter directly with an ESP32 and cut out the middleman. The catch: the Platinum speaks a proprietary serial protocol. There’s no Modbus register map, no public documentation, nothing. So this turned into a reverse-engineering project — and this post is the honest story of an attempt that, so far, has hit a wall. I’m publishing the full dataset so anyone else can have a go.

Offsite Backups on a Raspberry Pi, with a Key That Lives Only at Home

·10 mins
The first two parts of the 3-2-1 backup rule are easy: three copies, on two different media. I had that covered with the Borg backup strategy on my home server — nightly Borg archives on a local USB disk, mirrored to a NAS. The hard part is the “1”: one copy offsite, somewhere physically separate from the house, so a fire or a theft doesn’t take the data and every backup of it in one go.

Controlling a RunCam Thumb Camera with an ESP32-C3

·8 mins
The RunCam Thumb is a tiny action camera — genuinely about the size of a thumb, and weighing almost nothing — that has become the default way to record onboard video in FPV and in rocketry . The picture is surprisingly good for something that weighs 4 grams. The control interface, less so: you operate it by pressing two microscopic buttons on the back, and there’s no way to know whether it’s actually recording without staring at a pinprick LED.

Bringing a Second-Hand Solar-Log 500 Online

·12 mins
I have a Platinum 3100S inverter on the roof turning sunlight into electricity, and for the longest time the only way I knew what it was doing was the little LCD on the front — if I happened to be standing in front of it. Everything else in the house reports into Home Assistant : the battery inverters, the smart meter, the consumption per circuit. The one thing missing was the source of it all — how much the panels were actually producing. I wanted that number in the Energy Dashboard next to everything else.

Peak-Shaving the Belgian Kwartierpiek with Marstek Batteries and Home Assistant

·9 mins
Belgium has a peculiar way of billing electricity. Alongside the energy you actually use, the grid charges you for the peak power you draw — specifically the highest 15-minute rolling average over each month, averaged again across the year. It’s called the capaciteitstarief, and the peak it keys on is the kwartierpiek. Get that number down and your bill comes down with it, regardless of how much energy you consume.

Turning a Cheap Yellow Display into a Home Assistant Control Panel

Every day my kids come home from school and stand at the front door. Every time I want to know if I should start dinner or if the washing machine is still running, I pull out my phone, open the Home Assistant app, and navigate to the energy dashboard. It works, but it’s friction. What I wanted was a small screen on my workdesk that I could glance at to check the house’s power consumption, and a button I could tap to let the kids in or open the garage — no phone, no app, just look and tap.

Tracking My AI Usage Limits in Home Assistant

·11 mins
I run my coding life across two AI plans — Claude Code on an Anthropic Pro subscription, and the z.ai GLM Coding Plan — and both of them enforce the same kind of rolling usage limits: a five-hour window and a weekly window. The trouble is that those windows reset on their own clocks, not mine. I’d be deep in a refactor, hit a wall, and only then discover I’d burned through my five-hour allowance. Or I’d baby my usage all afternoon, scared of a limit I was nowhere near hitting.

Syncing Claude Code Across Multiple Machines

·6 mins
I use Claude Code daily on two machines — a desktop workstation in my home office and a ThinkPad laptop. It’s a fantastic CLI-based AI coding assistant, but it has a gap: no built-in way to keep your configuration, custom commands, and project context in sync across machines. After one too many times of building a great custom skill on one machine and having to manually copy it to the other, I decided to fix this properly. Here’s how I set up seamless multi-machine sync using tools I already had: a Synology NAS, symlinks, and Syncthing.

Building a TiltBox — A Tiny Tilt-Controlled Game Console

·8 mins
Last month we visited MakerFaire in Ghent. Among the 3D printers, robot arms, and LED installations, one project caught my kids’ attention more than anything else: a small wooden box with a glowing 8x8 LED matrix that you control by tilting it. The TiltBox, designed by Tom Michiels. The kids kept going back to it. They played maze, they played snake, they tilted and flipped and laughed. A few days later I decided to build one.

Beyond ChatGPT: Building Your Own AI Toolkit

·19 mins
My first real experience with AI was the same as everyone else’s: I typed something into ChatGPT and it gave me an answer that felt like magic. I used it for months — drafting emails, looking up syntax, brainstorming ideas. It was useful. Then, slowly, I started hitting the edges. The copy-paste cycle got old. I would paste in a chunk of code, get a suggestion back, copy the result into my editor, test it, find a problem, paste the error back in, and repeat. For a quick question that works fine. For a multi-file refactor that touches a dozen files, it is tedious and error-prone. ChatGPT can tell me what to do. It cannot do it for me.