Zambretti-OpenWeatherForecaster
A digital display of open weather data for the user’s gps location with Zambretti forecasting [1] using LEDs.
V1 Engineering MPNC project with V1E ESP32 devkit module
What can be better than V1 Engineering[2], Blinkenlights[3], and a good weather forecaster!
Features
-
Front panel engraved and holes cut by MPCNC primo (V1 Engineering) built by the author.
-
ESP32 Microcontroller module using genuine components (V1 Engineering). Monitors the following:
- Wifi Manager [4] allows user to enter and save SSID and Password, as well as save open weather API Key and Adafruit IO API Key.
- GPS device (Ublox Neo 6M) receives latitude and longitude for use by open weather.
- DPS310 pressure sensor measures location pressure in hPa (Adafruit).
- API calls to open weather 3.0 [5] once every two minutes (free) for temperature, humidity, wind-speed, wind-direction, and cloud coverage.
- Seapressure and dewpoint are calculated using temperature and elevation.
- API call to open-elevation.com [6] using latitude and longitude once per hour if needed (glitch protection). GPS elevation wanders a bit.
- API calls to io.adafruit.com [7] to record two minute intervals of weather data. Graphical history on iphone or computer browser.
- Controls 8 colored leds using Zambretti calculations with 3 hour pressure changes, wind direction and calendar month as inputs.
- Controls pressure display (HT16K33 driven 8 digit 7-segment) in hPa,
- Controls (HT16K33 driven 8 digit 7-segment) NTP time-date displays.
- Controls (HT16K33 driven 4 digit 14-segment) moon phase display in percent and words (like ‘FULL’).
- Astronomical [8]: calculation of sunrise, sunset, moonrise, moonset from observer location and time-date.
- Sends JSON packet [9] of time and weather, astronomical, and pressure change data once a second to STM32 Nucleo64 microcontroller.
-
STM32 Nucleo64 F103RB module for:
- Receives JSON data packet from ESP32.
- Numerous GPIO on morpho pinout.
- TM1637 4 digit 7-segment displays:
- Sea pressure changes 1 hour, 3 hour, and 6 hours.
- Location: Elevation, Latitude & Longitude.
- Open Weather: Temperature, Humidity, Dewpoint (calculated), wind speed, wind direction, cloud coverage.
- Astronomical: display of sunrise, sunset, moonrise, moonset.
-
Build:
- Front panel engrave and hole cutout with V1 Engineering MPCNC Primo . Board material is 3/16th marker board 2x4ft from Home Depot.
- Carcase is constructed with handtools (yes 45 degree miters with a plane, and splines for strength).
- V1 Engineering genuine ESP32 module . Stable, better than ESP8266 and more GPIO pins.
- STM32 Nucleo64 F103RB ($10 powerful arduino compatible microcontroller with lots of GPIO).
- Lots of dupont crimping of pins/wires and plastic shells!! These were a source of intermittent behavior.
- TM1637 4 digit seven segment display modules of various colors.
- HT16K33 modules (Adafruit) to drive larger .56 inch seven segment displays.
- Many, many iterations of experimenting and burn-in periods exposing design flaws.
-
Inspiration:
- V1 Engineering and fantastic forum with advice.
- Brett Oliver for barometer idea and amazing projects