Your smartphone has a weather app on it, but that app doesn’t actually tell you the weather in your exact location at that specific time. In reality, it’s pulling the most recent data from whatever weather station is closest to you. For most people, that’s probably good enough. But, if you want more accurate information, you can build your own portable weather station for about $6.
This tutorial comes from Mike Diamond over What I Made Today. It relies on the very affordable Bosch BME280 environmental sensor, which you can find on a breakout board for less than $3. That is attached to the always popular ESP8266 WiFi board. There are all kinds of ESP8266 options available, and they can be purchased from some websites for under $2. Finally, an AMS1117–3.3V voltage regulator — about $1 — brings common 5V power sources down to the 3.3V required by the ESP8266.
The BME280 communicates via the I2C protocol with an Adafruit library, so it only takes four wires to connect it to the ESP8266. Then two wires connect the AMS1117–3.3V to the ESP8266 (with the ground wire passing through the BME280). The code to make it all work is simple, and works with the Cayenne myDevices IoT service. Once you’ve flashed the code, you just connect the ESP8266 to the internet via a WiFi hotspot on your phone, and then you can check the weather data from the Cayenne app. If you want to know the weather in your exact location, this is a very affordable option that’s easy to set up.