ESP32 Weather Log 5

August 12, 2023 – Started working on it off and on this month

Hardware added:

  • Everything is powered by single 12v barrel jack
  • Fixed broken barrel jack
  • Fixed broken 555 timer caused by faulty barrel jack
  • Fixed broken MOSFET caused by faulty barrel jack
  • Added relay (5v rail)
  • Added RGB LED (only 3.3v direct from ESP32 so far)
  • Added mister to relay (mister power 12v MOSFET 118khz circuit)
  • Added water pump to relay (pump power 5v rail)
  • Added fan control but circuit not sustainable yet (fan off L293D and 5v rail)
    • Heat issues
    • Occasional power spikes overloading buck converter causing 5v rail reboot

Hardware to order:

  • more MOSFETs – RFP30N06LE or better for 3.3v gate/esp32 logic
    • to help replace 4-channel relay (making everything silent)
    • to have replacements for atomizer MOSFET
  • motor drivers – L293D & L293D or better circuits
    • only have one L293D chip
    • solve heat issue on L293D or get larger
  • PIEZO discs – 118khz resonant
    • only 2 left

Code added:

  • Custom location input through websocket website server
    • All US zipcodes supported
    • Updates on custom set 30s timer and on every websocket event
  • Changed delay() to millis() in loop
  • Added sliders to hardware values
  • Let websocket handle multiple messages
    • assigns messages a number and completes different task based on number. efficient?
  • Added to json export of current variable values shared with websocket
  • Started adding override buttons to website and logic
    • Hardware will default to following live weather at current zip, override will allow custom hardware control.
  • Working on mapping time of day to LED intensity/color
  • Mapped wind to fan using 8.5x multiplier, mph to 8-bit 255
    • Should multiplier be variable based on region?

To add:

  • custom location anywhere in world
    • Stick to zipcode support and add toggle for country?
    • Use other API where it recognizes city name? This may be best with addition of country dropdown list
  • Too many global variables?
  • Clean up override buttons and make inputs update values first time always
  • Speed up user websocket inputs?
    • API pull from internet is probably slowest
    • JSON export of global variables to websocket slow?
  • iOS app connecting to websocket
  • Bluetooth setup to change Wifi user/pass
  • Add wind multiplier custom input
  • Map mist to weather
  • Map pump to weather
  • Finish mapping light to weather
    • Use time of day/ sun location as well as weather (overcast vs clear). Color as well.
  • Add motion sensor to allow for OLED to go to sleep
  • Check DHT sensor bug stopping display from updating (referenced in Log 2)
  • Permanent test housing for components and breadboard
  • Work towards custom breadboard and soldering everything
    • Make everything more efficient / stress test

Comments are closed.