Software apps and online services
I created this device to be personal. It will eventually be paired with a Raspberry Pi with a 3.5" LCD to also display radar. The end product will allow me to see the current weather conditions no matter where I am at, including live radar using current GPS data.
It currently uses:
- Arduino Nano (Rev3.0)
- Adafruit BME680 (Temperature, humidity, barometric pressure, & AQI)
- Adafruit MiCS-5524 Gas Sensor (CO level)
- Adafruit VEML6070 (UV index)
- BH1750 (Light intensity)
- NEO 6M GPS (Location services)
- OLED Monochrome 2.4" 128x64 I2C (Values display)
- Adafruit NeoPixel Stick (At-a-glance display)
It will show temperature, humidity, barometric pressure, (in both inHg, & mb,) air quality index, UV index, and luminosity; along with current latitude/longitude, altitude, speed, heading, and time in UTC.
The Nano, BME680, and CO sensors are currently on an Adafruit Perma-Proto quarter size board mounted in a plastic craft container. The UV and Lux sensors are mounted to a piece of proto board and placed on the top inside of the unit.
I have encountered a bug in the code that I have not figured out yet...it seems that whenever the BME680 code is running the GPS values for altitude, FIX, ACQUIRED, and TRACKED satellites are lost. I’m still trying to figure it out.
The NeoPixels show current values in a color-coded format that, generally, follow NWS formats.
- 0=Temp level (subjective colors)
- 1=Pressure reading (subjective colors)
- 2=Humidity level (subjective colors)
- 3= GPS Fix (green-fixed/red-no fix)
- 4=Light intensity (subjective colors)
- 5= UV Index (follows NWS guidelines)
- 6= CO level in PPM (subjective colors)
- 7=Air Quality Index (follows NWS guidelines)
I tried placing the NeoPixels behind the white label, Fig. 1.1, but it was too bright. I ended up placing a strip of black electrical tape over the NeoPixels to diffuse the brightness, hence their appearance, Fig. 1.2.
The BME680 and CO sensors are both mounted internally, and on headers, Fig. 2, while the UV and Lux sensors are mounted on the top of the unit on pref-board, Fig. 3, with a piece cut out for light exposure, Fig. 4. The GPS antenna is just kinda sitting there.
My last step is to mount a 5mm fan internally to move air across the internal sensors.
Here are a few pictures of the case modifications:
Just as an FYI, you can build this project using a .96” 128x64 IIC OLED and it will drop in place without any code modifications.