bdwilson / esp-propane-sensor

ESP32 Propane Sensor using Tank Utility R3D Sensor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ESP32 Propane Sensor for Genmon & Hubitat using parts from a TankUtility unit

The goal of this project is to take a water-logged TankUtility unit, rip the board out, throw a ESP32 Firebeetle + Solar charging board (optional), and re-use the R3D sensor (~$50 by itself) to measure my propane tank. This arduino code can optionally send information to Genmon (using the Genmon API) to Hubitat (using a custom driver), or simply transmit the information over BTLE.

With optional Solar Panel & Solar charger:

Requirements

To get started you'll need:

  • R3D Hall sensor from a dead TankUtility device (or other Hall sensor). This Thread has info on building one and has information that helped me figure out the hall sensor. He was using ESPHOME to do much the same as my code does, but he was sending it via MQTT.
  • DFRobot FireBeetle 32 - I chose this because of the extreme deep sleep mode it can go into. Wifi vs. BTLE was neglible in my testing, so I opted for Wifi.
  • DFRobot Solar Controller - optional. Depending on how often you want your esp32 to check the level, you may not need solar panel or charger. If you bump it out to like 4x a day or once a day, you might not need this. You can always add it later, but I didn't want to charge my battery 4x a year as it requires disconnecting, unscrewing, etc. A cheap solar panel will hopefully be sufficient.
  • 3700mah LiPO.
  • 5v Solar Panel.
  • Arduino
  • Hubitat - optional app and driver here.
  • Genmon - pass your propane percentage directly to the Genmon API.

Installation

  1. Dissect Tank Utility device and connect Red to 3V3, Black to GND, and White to A0 on the FireBeetle.

  2. Connect battery directly to FireBeetle input OR connect it to the solar charger and connect the 5V to 5V from the Solar Charger to the FireBeetle and GND to GND.

  3. Load the code into Arduino. You will need to add http://download.dfrobot.top/FireBeetle/package_DFRobot_index.json to Additional Boards Manager then go to Boards Manager and add DFRobot ESP32 Boards. Configure your board as follows - notice the Huge App Settings:

  1. Customize settings in the Arduino code - Wifi, using hubitat? using genmon? enable BTLE? You can also search for esp_sleep and see additional options for longer sleep times. You can also disable LED to save power, but it's handy to leave it enabled when testing.

  2. Optionally connect a solar charger and hope this number keeps getting bigger.

Bugs/Contact Info

Bug me on Twitter at @brianwilson or email me here.

About

ESP32 Propane Sensor using Tank Utility R3D Sensor


Languages

Language:C++ 100.0%