Weather Station Conclusion


This is a follow-up to the previous weather station post.

I made a small device that uses WiFi to record weather metrics where I live.

Components

Adafruit Feather HUZZAH This tiny computer, based on the amazing ESP8266 chip, is the heart of the system. It runs a full TCP/IP stack and has a small wireless antenna. Its Deep Sleep functionality lets me run the device for (at least) weeks on a single battery charge.

AM2302 temperature-humidity sensor This is a low-cost digital sensor based on the DHT22. Adafruit tutorials and libraries made this a piece of cake to use, and the wiring is simple.

Pelican 1010 Micro case I acquired this case a year or two ago. It turned out to be perfect for the project: it's small, waterproof, and the padded interior easily protects everything inside from banging around when dropped.

Finalization Process

After an extended period of testing on breadboard, I transfered all of the components to an Adafruit Perma-Proto board. This is a neat little prototype board with traces exactly matching the layout of a breadboard.

This required me to carefully document the existing connections and (hopefully) replicate the exact same layout on the protoboard, where everything was to be permanently soldered in place.

This required a lot of delicate and precise work. I am NOT skilled at soldering!

I somewhat screwed this up, and ended up having to do a pretty large amount of rework. Not surprising. The mistakes helped me understand the value of testing with a multimeter as I go.

After resolving my mistakes, I verified that everything was working properly.

The case required a small modification to allow passage of the temp sensor's wires, which I encased in heat-shrink tubing. I also painted the sensor black, to match the case

Other than addressing a few easy TODOs, the client and server code hasn't really needed to change from the first prototype. I am still using Grafana to visualize the data stored in MySQL.

Low battery notification is handled on the server—it assumes that the battery is probably dead if a message hasn't been received for a while.

Conclusion

This was a great opportunity to learn. As I mentioned in my previous post, this was my first time touching this technology. My skills and confidence have expanded greatly, and I'm excited to start another microcontroller project in the future.

The most valuable learning resource for this project was Adafruit's Learning System. Having access to detailed pinouts, tutorials, and documentation is increbily helpful as a beginner. Adafruit is a really rad organization and their contribution to the community is immeasurable.

I'm very happy to have finished the project. I ran into a number of major issues which could have aborted the whole thing, especially soldering mistakes which left things permanently attached in the wrong places. Pushing through and getting the project to a state I'm happy with was very satisfying.