Close

Let's Get Physical

A project log for AWS/WeatherBug Display Resurrection

It's been orphaned, but I'm adopting it.

roleohibachiroleohibachi 02/08/2018 at 07:050 Comments

Armed with a working display library, I wrote a sketch for ESP. It's included in the examples directory of the library on GitHub. It builds on the work of [Daniel Eichhorn], who wrote a library for working with Wunderground's API. I modified his library slightly to parse some extra fields I needed, and to provide data in numeric datatypes. 

The sketch pulls data that the display can use from the Wunderground conditions API, and sets the ESP's clock as well. The display's controller tracks the min and max values for us, like it or not. I'll have to write a function to compute and store some totals and averages in SPIFFS. Barometer rate is provided by the API, but only "rising/falling", not a value. 

Unfortunately, the ESP8266 won't give up its internal temperature sensor info, so I have nothing to display in the internal or auxiliary temperature fields for now. Adding a temperature sensor would be nice, but I don't have one lying around. I do have an ESP32 or two, which has an internal temperature API. Future work, etc etc.

Once this sketch was working, it was time to power the ESP from the display. The heatsinks on the voltage regulators weren't very warm, and my upstream power supply was large, so I decided to take the risk of connecting the ESP without doing much math or measurement first. Shadetree electrical engineers, I tell you. The average draw was no problem, but the spikes in current were making the display's controller reboot once in a while. I added some capacitors I scavenged from the MCU - there is some mild flickering, but no reboots. These are missing in the photo below (whoops).

Physically mounting the ESP inside the case was elegant! There is a jumper/header with 3 pins to select between knots/mph for wind. By soldering NodeMCU D5 (mph), D6 (GND) and D7 (kts) to it, I not only anchor it in place, but also gain control of the knots/mph in software. A piece of plastic sheet is epoxied between the boards to prevent shorting. I'll drill a couple holes in the backplate later to expose the LEDs.

Discussions