Who doesn’t check the weather everyday? Most have a favorite website or just check the local news. The folks at WeatherUnderground have an exportable Weather API that can be used with Internet of Things (IoT) devices. I built another device recently with a little color OLED screen and it’s cool but it is a battery hog and dies frequently. Then when you turn it on it goes through this updating routine that leaves you waiting 20 seconds or so to see the weather. Heck I could check 2 websites in that amount of time.
Thingpulse sells a 2.9′ e-paper display that is really neat. If you don’t know what e-paper is then you’re in for a battery saving treat. E-paper holds your screen image even with no power. That allows you to refresh the device at intervals and use almost no battery whatsoever. And the display is always on.
The 2.9″ display costs $50 but get this………that’s all you get …………AND…………alone it does NOTHING. You have to program the onboard ESP8266 IoT device with some Arduino code of some sort to make it useful. Then you have to 3D print a case for it. That’s why I love this. I love projects. Anyone can buy something that already works. Give me something that I have to inject code into that I can change.
Here’s the board (swiped their photos).
All the directions for programming the board are here and I won’t re-invent that wheel by reposting the directions. The funny thing is that nowhere in those directions do they actually tell you to turn the board on with the switch. I tried to flash the code 3 or 4 times before I scratched my head and said “I wonder what THIS switch is”.
Then this is in the directions but so non-chalant as to be easily missed. Before you program the board it must be in Programming Mode. Duh. Push GPIO 0 button, then push RESET button, then let go of RESET button then let go of GPIO 0. Now you can write the code.
In the instructions it tells you to download the Arduino program and that you must have an FTDI controller (CP2102). I bought my controller from here. You will also need some female to female breadboard jumper wires as well. So already this is a project for someone that has a bunch of electronic junk laying around. And suddenly the price creeps up if you don’t have all this junk laying around.
I won’t go too deep into the instructions as again their instructions are ALMOST perfect. I will say this though……..they don’t get specific enough about the arduino code that you program in. The code is located here and you download the zip file. Once unzipped you open the espaper-weatherstation.ino file.
Once you get that opened then go the “settings.h” tab in the Arduino Program.
In “Settings.h” insert your wi-fi credentials. Be sure to put it between the quotation marks.
Now scroll down and change the Weather Underground settings. Note that I have the WeatherUnderground API key blacked out. You have to add your API key that you created between those quotation marks.
Also notice that I have settings for “Boston”. The section just above was what was enabled giving me UTC time. I wanted local time. You have to add the hash marks before the work “struct” to disable something. And also note that the # in front of the word “define” has to be there. So you have to remove some hash marks and add them to the other section. Simple as can be, right?
Lastly just below the bottom red circle notice IS_METRIC value. Mine was set to true. That means the temp came back in Celsius. Change that word to false if you want Fahrenheit.
To print a cool 3D case for the display go to this link on Thingverse.