Building a weather gauge based on the weatherFlow API to hang on my wall

I’m creating a battery powered weather gauge that can hang on the wall and show the current temperature, forecasted temperature, and forecasted precipitation sourced from my Tempest weather data.

The goal is with one glance let the observer know what the day is going to look like. Is it going to be warm, cold, rain or snow. Answer the question how should I dress for the day? This is not intended to replace the Tempest app as it will only show a very small subset of that data. I would like for it to be attractive and something someone would put on the wall in their home.

Now, for full disclosure I’m the creator of the WallGauge.com system. It is a suite of tools and hardware that allow makers to build these type of gauges. Up to this point I have only used the WallGauge system for personal use but I’m working to make it a commercial product. So I have decided to share the process of creating a gauge and welcome input!

Steps

  1. Create an application (data getter) to query the WeatherFlow API
  2. Design a gauge face based on the data to display
  3. Create a gauge app for the WallGauge GDT that will grab the data from the data getter and send it to the analog gauges
  4. Build a test gauge face, calibrate the gauges and test with real data.
  5. Build a case to put the gauge in and hang it on the wall and test.

October 16th update:

I have a good start on the first two steps. I started with creating the data getter. I got some fantastic support on this forum as I worked on getting my head around the weatherFlow API. The data getter is based on Node.js and you are welcome to download and use it in your project if you find it useful. weatherFlow Data Getter github

October 18th update:

I have been working on the gauge face and have come up with the following. It will be about 11.75" in diameter so it is pretty big and should be easy to see from a distance.

I will keep an eye on this forum as I start on step 3, creating the actual gauge app that will run on the WallGauge GDT. All feedback is welcome.

October 20th update:

I have a working prototype (click here to scroll down for more pics). Next step is to calibrate each WallGauge to its gauge face. If you’r curious you can follow my coding progress on the project’s GitHub repo. Find the calibration table for the main gauge at line 5 of the gaugeConfig.json file and at line 3 in the PrecipChance.json file for the “Chance of Precipitation” gauge.

October 30th update:

Got some time to spend in the shop and finished the wood case for the gauge. I enjoy the woodworking part almost as much as writing the code (Click here to scroll down for more Pics).image

November 1st update:

It is on the wall. If you click here to scroll lower into this post you can see some pics of the final assembly process.


Video of final assembly

9 Likes

there is a challenge for you… make a gauge with two pointers, one blue and one red so you could combine the forecast low/high into one gauge, and you could use the other gauge for something else like the current windspeed. But I like it already as it is. Perhaps use some color like blue and red for the gauges with the temperature.

2 Likes

That is a good one and believe me I have thought about it a lot. It is a future project for sure! I intend to make additional gauges. I can see another gauge for rain and rain history, wind speed and wind direction plus wind forecast. Heck I could fill a wall with the data from one tempest. But for now I want to get something on the wall as a start! Good stuff thanks!!

one more, I would separate the forecasts from the actual measurements. So one unit with the forecast data and another with the current conditions.

1 Like

Hey @jhrucker. I love this idea! I’m actually a startup advisor based in Boulder, CO, so feel free to reach out if you want some more advice. I help founders navigate the process of product development and give strategic technical advice.

I agree with @sunny that the low and high forecasted temperatures could be on one gauge, and for me, I’d love to see current windspeed. It would also be really nice to have a gauge that goes between sunny -> cloudy -> rain for maybe the next ~6 hours. That’s more actionable than pure “chance of precipitation.” You say that you want the device to answer the user’s questions… so the first part is, what are the users’ questions? How do those questions change throughout the day? How do those questions change based on where they live (i.e. here in Boulder, I’d want to see if it will freeze overnight, how windy it is, or is there an afternoon thunderstorm approaching)?

I think overall your design is too busy. This type of device is going to be attractive to the higher end of the market (i.e. more money). The lower-end buyers are fine putting a digital panel on their wall. Simplicity and a quality design are going to be keys to your success. Both “check data connection” and “renew subscription” are things that can easily be handled by push notifications on an app or emails. Same with the “snapshot” paragraph, and your logo needs to go. Take a look at higher end industrial designs of similar products; the Awair Element (previous version in wood) comes to mind. You also have a great opportunity to blend old with new here because of the history of meteorological gauges.

If you’re serious about selling this as a commercial project, I’d try to find a designer who has experience modernizing historical designs. And I’d also advise you to take a few steps back. Who is your ideal customer? How much are they willing to pay for this kind of product? What data or answers are important to them? Ask these questions of at least 50 qualified people first, then go out and do some marketing. Make sure your click through rates & ROI are high enough to justify the expense of building it. I can share customer discovery interview templates and go no-go decision point practices with you if you’d like.

For me… I’ve been looking for something like this for a while. I’ve thought about building one too! I’d want it to have a modern, clean design. I’d probably pay at least $100 for one if it was thoughtfully designed and made of high quality materials that would look great in my home. Maybe more. As shown here, I’d probably pay $15 for it.

I realize that all of the above is mostly unsolicited advice and may seem rather harsh. But I think this is a great idea, and I’ve seen way too many products and founders fail because they built a solution for which there wasn’t a problem. If you really dig into what your customers want and follow that, you’re going to sell a lot of these!

3 Likes

Well this is an absurdly cool thing to say the least.

If you can do one thing please, abstract out the acquisition of data so that folks can feed the nice gauge display with values they get ‘their’ way too. A lot of folks query the local UDP for data. Others feed MQTT. Others save to influxdb or other databases.

Also making the central forecast stuff configurable would be nice. I don’t care much for the forecasts (unless I can simply feed NWS data) but I could see sticking other gauges in there for wind/precipitation/barometer.

Definitely follow up as things progress !!!

Awesome input and I agree it could look better. Right now I make these gauges in my shop. It is pretty easy to make one just to see how it looks and works. My plan is to make a few of these weather gauges as prototypes and get them out there for input. It does look busy in the picture but you have to keep in mind it is almost 12" in diameter so when you actually look at it on the wall its not so bad.

In the back of my head my target customer has always been craftsman and makers. I would love to sell the “clock works” and let them make the finished product. I really don’t have much desire to sell them to endusers for the very reasons you point out.

But that is all down the road. For now I need to focus on a few prototypes.

Ah, very cool. I like the idea of selling to craftspeople and makers. Will you allow them to customize the face at all? I could imagine that clientele being quite particular!

I love the idea of sourcing your own data to the gauge. In fact you’re the second person to bring that up. There are two ways I could address that. First option is for you to build your own gauge app. The WallGauge system is an open-source project. If someone wanted to design their own gauge face and data getter they could do so. Heck it doesn’t even have to be weather data. I have gauges that show the charge state and range of a Tesla, the amount of power your home is consuming, and even river levels from gauges maintained by the US Army Core of Engineers. It is pretty open on what it can do!

The second option would be a cloud based API where you could push raw gauge data. If we went this route you would get an API endpoint and a token. You could then connect to that endpoint (with your key) and send raw gauge data to any gauge connected to your GDT. To be clear, I don’t have any of this setup. Just daydreaming with you.

Thanks!

Also remember not everyone is on imperial units … there are some weirdo’s on metric

8 Likes

Already working on a 'black box; for pushing raw data to various places/sites/etc…
… and for keeping it all on the local network…
–Sam

2 Likes

Absolutely. The gauge faces are etched with a 40 watt laser at 1000dpi here in my shop. They could use an existing gauge as a templet. As long as they don’t move any of the tick marks and keep the values the same it would be easy to make a custom face for someone.

Each gauge has a calibration table tied to that gauge’s tick marks. So if they don’t change the tick marks or the values we can use an existing gauge. On the other hand if someone wanted to create a completely unique gauge with their own values and tick marks I can do that as well. It would take more work as I would have to create a calibration table and gauge app. That is exactly what I’m doing now for the weather gauge.

Now we are getting into what the WallGauge is really about. It is a platform for these type of custom gauges. I need to be mindful of the others in this forum and not turn this post into a commercial for WallGauge. I truly want it to be about the Tempest weather API and my WallGauge I’m building based on it.

Good, good stuff!!

2 Likes

4 Likes

I can sure see the logic of having a multi gauge with the current weather on it like temperature, wind speed, barometric pressure, and current precipitation. Then have another multi gauge for forecast with high, low temperatures, wind speed, chance of precipitation etc.

Several years ago I wrote a “how to” article for Nuts and Volts magazine that laid out the circuit and programing to query the weather-underground’s weather API and display it on an alphanumeric LED. It showed the current temperature, forecasted high and low. I built one of the circuits and set it on a shelf here at home. Over time my wife and I got use to looking at it as we ate breakfast. It gave us a quick feel for what the weather was going to look like. It was strange, we had all the weather details we could ever want from the phone and TV but found ourselves looking at that gauge to get a feel for how to dress for the day. Kind of why people look at a clock on the wall for the time when they have it on their phone, laptop, etc… Its easy and quick.

Well that was a long winded explanation for what I’m trying to do with this gauge and why I mixed current weather with forecast data. With one quick glance I want to let people know what to expect for the day.

Quite a few of us are pretty adamant about not putting any data outside our LAN, so expecting us to use (or rely on) an Internet site is a showstopper for a lot of folks (including me). A local-only more flexible solution would be awesome if possible…

1 Like

It’s possible to do it locally just hard for me to support.

I didn’t know it was possible to setup a Tempest and not have the data go out to their cloud. I know there is a UDP based API for local LAN based data. But I was under the impression when you connected the Tempest to your WiFi you were allowing it to upload data to their cloud?? I must have missed the option to not upload. Good to know.

It’s possible to run the WF gear, once they calibrate it, with outbound blocked I hope. I don’t know the particulars re: whether it would work if you took a subsequent reboot for some reason like a power loss, nor whether the UDP broadcasts might be hypothetically blocked til the Hub phones home to WF.

But the gauge doesn’t know where the tick marks are so if you have a temperature gauge it doesn’t matter which scale you use as long as the end points represent the same thermal value. For example, if the gauge went from -40 to 130°F as in your example the same shape face only going from -40 to 54.4°C would work with no calibration needed in software.

1 Like

But there is only 1 type of country that made the NASA mars climate orbiter crash because Lockheed Martin Astronautics in Colorado worked internally in imperial units.

4 Likes

Yep, you got it. However, if someone wanted to change the range of the gauge, say have the minimum be 0°C (32°F) and the max 100°C (212°F) then they would have to crate a new calibration table.

It is not that big of a deal to create a calibration table. Takes about an hour for a linear gauge face. Once you have it, you don’t have to do it again for that gage face. I use stepper motors to drive the needles and they are very precise. Here is the calibration table for my sense power gauge. It is a two dimensional array with the first value being the watts and the second value the raw stepper position.

2 Likes