I’ve been wanting to ditch the Amazon Echos in our house for quite some time. Then on a late night Amazon shopping spree I decided to grab a Waveshare ESP32-S3 Audio board to see if it would be up to the task. The board showed up on a Tuesday. I plugged it into the laptop…
Revive a Bricked DJI Spark Battery With an ESP8266
I pulled two DJI Spark batteries out of a drawer after months (ahem…years) of storage, plugged one into the drone, and got the same useless answer both times: LEDs 1 and 2 flashing in sequence, then dark. No charge. No life. From what I could find, DJI’s official fix is a $60-70 replacement they barely…
Build a Discord Health Accountability Bot with PHP
This is where the project stops being plumbing and starts being something I actually use every day. I apologize in advanced, it’s a bit of a longer one. Over the last three posts, I set up Discord, figured out how to pull data from Garmin, and built a database backend to track it all over…
Track Garmin Health Data with PHP and MySQL
At this point in the series, I’ve got Discord set up and I can pull health data from Garmin. Two pieces of the puzzle sorted. But there’s a problem: Garmin only gives you today’s data (and maybe yesterday’s). There’s no “give me the last 90 days” endpoint that reliably works for everything. If I want…
Garmin Connect API with PHP: It’s Harder Than You’d Think
In Part 1, I set up a Discord server from scratch and got PHP talking to it through webhooks. That was the easy part. Now I need actual health data to push into those channels… and that means accessing the Garmin Connect API with PHP. My Garmin Epix Gen 2 tracks everything. Steps, resting heart…
Why Is My Home Assistant MariaDB So Big? Tracking Down 145 Million Rows of Bloat
If you read my last post about Home Assistant backups going missing a few weeks ago, you’ll remember I had a secondary problem lurking in the background. My MariaDB addon was eating 57GB of disk space, and it was the main reason my backups kept failing. Time to figure out what the hell is going…
Build a Discord Bot with PHP (My First Discord Server)
I’ve been writing PHP for over 20 years. Built tools, automated workflows, scraped APIs… the usual. I’ve used Discord here and there, but I’d never set up my own server. Never touched the Developer Portal. Never built a bot. So when I decided to build a Discord bot with PHP for personal health tracking, the…
I Built an AI Prompt Injection Attack. Here’s How Easy It Was
So I recently installed a browser extension on a VM that lets an AI assistant control my browser. Click things, fill out forms, navigate pages. Basically a little digital co-pilot sitting in my Chrome tabs. Pretty cool stuff to play around with. Then I saw the disclaimer. “Malicious actors can hide instructions in websites, emails,…
Mastercraft Garage Door Opener and HomeLink. The Fix That Worked and the Security Problem I Didn’t Expect
I have two Mastercraft garage door openers from Canadian Tire. Model 046-1401-2, the 1/2 HP chain drive smart opener. I grabbed them on sale for under $200 each. They work fine, they’re quiet, and for the price I had zero complaints. But when I went to program my Ram 1500’s HomeLink system to work with…
Build an ESPHome Bedside Clock Display for Home Assistant
I had a Waveshare ESP32-S3-Touch-LCD-2.1 sitting in a drawer for weeks (okay, maybe months). Round 480×480 touchscreen, looked cool in the product photos, but I had no idea what to actually build with it. So I started with something practical… an ESPHome bedside clock display that pulls time, weather, and notifications from Home Assistant. It…
