Propane and IoT Propane Accessories

I want to keep track of how much propane I use to heat my shack. So I'm building an IoT scale to keep track of the weight of my tanks.

Similar projects worth following

So I've got this nice little shack in the backyard that I use as my office. Mostly I write in here, but I also work the day job here, plus I've got my workbench out here for dorking around. It's small, only 10'x12', but it's enough for what I do.

Now, I have electric run out here, one 20-amp circuit, which is plenty for my laptop and monitors and LED lighting. As it turns out, it's also enough to run an electric space heater, which is how I kept the place warm last winter. But the electric bills got out of hand, and I decided to go "off-grid" with my heating this year. 

Natural gas would be my fuel of choice, but trenching from the house to the shack for a buried gas line would have been prohibitive. So propane it was to be. I found a wall-mount direct vent propane heater rated at 8000 BTU/hr, which seems about right for this size space. Trouble is: how fast will I go through a tank? And what happens if a tank runs dry in the middle of the night?

My immediate goal here is to build scales to sit each of the two 40-pound propane tanks on, and connect those scales to some kind of IoT system. I want to be able to graph change in weight over time, so I get an idea of the rate of fuel consumption. I also want a heads up on when a tank will be going dry, in the form of an email or text. I may also include an outdoor temperature monitor so I can correlate degree days with fuel usage.

Stretch goals include adding remote control to the heater so I can warm the shack up in the morning without getting out of bed. That might prove challenging since I'd have to link the heater's mechanical controls to a servo. We'll see where that goes.

  • What about the scales?

    Dan Maloney11/07/2017 at 01:58 0 comments

    Yeah, right - the scales themselves are pretty much the business end of this. Here's what I've got so far, in Sketchup:

    These things are going to be out in the weather with about 70 pounds sitting on them, so they need to be stout and weather resistant. I'm welding the upper and lower frames from 1.5"x1/8" angle iron and filling in the space with sheet steel - I show it as diamond plate, but it'll probably be just plain sheet steel, like 18-ga. The load cell will be anchored to the base with sturdy bolts, and the live end will support the top. There are four posts on the inside of the base that stick up into four tubes on the underside of the top to act as guides. The base also will have a small plastic case for the HX711 amp.

    I'm going to try to provide a weather seal of some sort between the top and the bottom. The whole thing will get at least a good couple of coats of paint, or I might have it powder coated. We'll see where the budget takes us.

    I'll probably start knocking these together in December - I've got some vacation time that I've got to take or I lose it, darn the luck.

  • Starting to think about the code

    Dan Maloney11/07/2017 at 01:36 0 comments

    I've close to done with prototyping the electronics. I've got the Wemos connected to the pair of HX711 amps, and each amp has a load cell connected. Built a simple demo app to start up a simple web server to display pull requests for weights. Works a treat, although I didn't bother optimizing the code or even calibrating the load cells. That can wait.

    Now I'm thinking about what the UI will look like. At first I thought I might do this as a Blynk app, but they want money to do anything interesting, and do I really want to pull my phone out every time I want to know how much fuel I have left? Practically speaking, the best UI would be a local display to quickly see how much fuel is left, plus a simple web interface to display the same info and perhaps allow access to logging data. I'd also build in some kind of alerting - email or text. That can be configured in the web interface. 

    So what does the display in the shack look like? Well, I have a little 64x48 OLED screen, and that seems like enough space to show what I need. I decided to mock up the graphics using Google Sheets, making each cell 8x8. Here's my first attempt:

    I was going for a gas gauge paradigm, which I liked, and a display for the indoor temperature. The lower line would tell me which tank's level is displayed, main or reserve. I figure I'm going to need a button to indicate when a tank is refilled anyway, so it could do double duty to toggle displays.

    But I wasn't 100% in love with it, so I retooled it:

    I really like the tank icons, and having both on the screen at once is nice. There's room for outdoor temperature as well, if I want to implement that. Much slicker, IMHO, although I have to tune up centering and spacing. OCD much? And sorry metric fanboiz - we loves us some Fahrenheit around here. Not going to program this to switch to Celsius - just no need.

    Since the display is monochrome, I might want to have a way to call attention to a low tank. I might start blinking the bar when it gets below 20%, and maybe sound a buzzer when it gets to 5%. I'll still need a button to mark a tank as refilled so I can use that to silence the alarm. The refill menu can be accessed through a long press of the button, then it'll just toggle through simple text options, like "Refill 1?" and "Refill 2?" Pressing the button again resets the bar to 100%. 

    Taring the scales really should be necessary. The empty tanks are a known weight (about 40 pounds), so that value can be hard-coded into the program as zero. If the load cells drift a bit, or if I get 16 pounds of propane in the tank rather than the 17 it's supposed to hold, big whoop. It shouldn't matter that much. 

    I'm going to start mocking the indoor display up in code soon, so I can get used to the using the SparkFun OLED library. They have primitives like lines, rectangles, circles, and filled shapes, plus three or four different fonts. Some of this will have to be setting individual pixels, though. Oughta be fun.

    Time to start a Github page on this I think.

  • Prototyping the electronics

    Dan Maloney11/02/2017 at 17:48 0 comments

    I've been accumulating materials for this project, and now that it's November, I'm out of the end-of-month rush for Hackaday writing and can actually devote a few cycles to this build. 

    The time-consuming part will be the metalwork for the scale bases, so I thought I'd concentrate on prototyping the electronics and building the code first, mainly because my garage is a mess and I can do the other stuff in my office.

    The basic components will be:

    1. Two 50-kg load cells
    2. Two HX711 load cell amps
    3. A Wemos D1 mini

    Each scale will have a load cell and an HX711 board -- I want to keep the connection between the load cell and amp as short as possible. Each scale will be wired into a junction box mounted on the outside wall of my shop. I'm debating whether I should put the Wemos inside or outside -- probably inside. The only reason I can think of to mount it outside is to add a DHT11 shield for outdoor temperature measurements. But that means the outdoor junction box would have to be vented, and I think I'd rather have that waterproof.

  • Installing the heater, project overview

    Dan Maloney10/27/2017 at 18:47 0 comments

    The first job was to get the heater and gas supply installed. Aside from cutting 9" diameter holes in the interior and exterior walls of my shack without hitting any studs, this went smoothly. Running the gas line was not quite so smooth -- many trips back in forth to Lowe's and any plumbing supply store I thought might have 3/8" black iron pipe. Pro-tip: use the much easier to find 1/2" pipe and neck it down with reducers or bushings.

    Not a bad looking job if I do say so:

    I would have been a bit more comfortable getting the tanks a little further away from the heater exhaust, but it's OK the way it is. And before anyone starts with "that's not code!", I know. But this is North Idaho. It's OK.

    The regulator between the two tanks is a switchover regulator. One one tank goes empty, I can switch to the other tank and run off that until I get a chance to get the first tank refilled. I suppose switchover could be automated too, but that's probably overkill.

    When this is done, the tanks will sit up on separate scale platforms. Each scale will have a load cell and amplifier and be wired into a box with a Wemos D1  Mini. I haven't decided if I want the Wemos inside the shack or outside yet. Probably inside.

View all 4 project logs

Enjoy this project?



Dan Maloney wrote 11/07/2017 at 14:28 point

But... but... then I won't be welding! You can see how that would present a problem! And I've already bought the material and everything...

Sadly, you're right, and try as I might to find a justification to roll my own, the possibility of being done with the hardware for $50 is just too tempting. It remains to be seen whether the load cells in that base ring will have the range to measure the weight of my tanks, since it's built to monitor 20-pound barbecue tanks. China-made stuff like this probably is usually is engineered to save every possible penny, so if something is made to weigh a 20-pound tank, chances are good it won't like a 40-pounder. I'd also have to fiddle with the interface to see what the signal is like, but that's what hacking is all about.

So yeah, for $25 it's worth investigating. And if it won't work for my shack, I can still use it either on my gas grill or RV. Thanks for finding this!

  Are you sure? yes | no

Boris van Galvin wrote 11/07/2017 at 05:03 point

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates