Okay, here’s my blog post about making a “lightweight weather” thing, written in a casual, personal style, focusing on the process:

So, I’ve been wanting a super simple weather display for my desk, something that just shows the basics without all the fancy graphics and stuff. I figured, “Hey, I can probably whip something up myself!” And that’s how this little project started.

First, I needed to find a way to get weather data. There are a bunch of weather APIs out there, Some free, and some need pay, after looking around, I picked one that seemed pretty straightforward.

Next up was choosing how to display the data. I wanted something small, so I grabbed this tiny e-ink display I had lying around. These things are awesome because they use almost no power and are easy to read even in bright light. it’s perfect.

Now for the brains of the operation. I went with an ESP32 microcontroller. It’s got built-in Wi-Fi, which makes connecting to the internet and getting that weather data a breeze. Plus, there are tons of tutorials and examples online for using ESP32s, so I knew I wouldn’t be completely lost.

The coding part was… well, let’s just say it involved a lot of trial and error. I’m not exactly a coding wizard, more like a coding hobbit. I started by finding some example code for connecting the ESP32 to Wi-Fi and fetching data from a website. Then I found another example for displaying stuff on the e-ink screen. My job was basically to mash these two examples together and hope for the best.

The Messy Middle

  • Wi-Fi Woes: Getting the ESP32 to reliably connect to my Wi-Fi was surprisingly tricky. I had to fiddle with the code a bunch, and at one point I thought I’d bricked the poor thing. Turns out I just had a typo in my Wi-Fi password. Classic.
  • API Antics: Figuring out how to get the exact weather data I wanted from the API was another adventure. I had to read through the API documentation (which, let’s be honest, is never fun) and experiment with different requests until I got it right.
  • E-Ink Enigmas: The e-ink display had its own quirks. I had to find the right library for it, and then figure out how to format the text and numbers so they looked decent on the tiny screen.

After a few evenings of tinkering, debugging, and a healthy dose of caffeine, I finally had something working! It wasn’t pretty, but it was functional. The ESP32 would connect to the Wi-Fi, grab the current temperature and conditions from the weather API, and display it on the e-ink screen.

I spent some more time cleaning up the code, making the display look a little nicer, and adding a few features (like showing the high and low temperatures for the day). I even 3D-printed a little case for it, which made it look much more professional. It’s work!

It’s far from perfect, but it’s mine. And it does exactly what I wanted it to do: show me the weather at a glance, without any unnecessary bells and whistles. Plus, I learned a bunch along the way, which is always a win.

Leave a Reply

Your email address will not be published. Required fields are marked *