212 Followers
121 Following
529 Posts
#synthesizer designer, electrical engineer, #amateurradio operator, all-around dilettante DIYer
webhttps://bradslab.com
pronounshe/him/his
Mesh-based cloud computing via plastic bags of reflashed e-waste phones hanging off powerlines and charging off the EM leakage.
This morning I briefly smelled something burning before my 16" macbook pro shut down. The top right area near the power switch was super hot for a few hours until (I presume) the battery ran down. *sigh*

Maybe a couple attainable goals will help:

  • Help someone
  • Make something
  • Go for a walk

That’s probably enough. No need to get overly-ambitious and feel worse for failing to complete the list.

The scale is hard to tell from the photo -- it's about 31 inches / 80cm in diameter
I'm pretty happy with how this turned out! I found an old hammered bronze timpani/kettle drum shell that had been sitting outside, cleaned it up a little, and turned it into a hanging lamp.
Neoliberalism in one photo.
I put all my Weatherflow Hub repair files and code in a codeberg repo: https://codeberg.org/kr4dio/Weatherflow-Hub-Repair
Weatherflow-Hub-Repair

Fixing a broken Weatherflow Hub

Codeberg.org
I hooked up an ESP8266 board running ESPHome to the debug UART on the Weatherflow hub. A couple of lines of lambda code in the config, and it's now filtering only the sensor report JSON and broadcasting it over UDP. From there, Home Assistant integrations listen, parse, and present the data.

It turns out reverse engineering something like this is tedious and boring: inspect the i2c packet, try to match up the hex values with anything in the plaintext data. Reboot. Repeat. I2C, plaintext data. Plaintext data?

Wait. Why don't I just *add* a microcontroller to listen to the bad chip's serial output in plaintext? It cycles off every 20 seconds, and might miss transmissions in the first 5 seconds of that, but so what? Worst case I miss the peak wind gust measurement for the day.

By connecting to the red module's serial output, I can see that it boots up, initializes the radio, tries to do something else, then crashes and reboots. This loops continuously for about 20 seconds.

My plan was to sniff the i2c communications and match the data up to the plaintext data coming off the serial port. I figured I could just pop the radio module off the board and use an ESP32 or something to talk to it directly.