Particle IoT: Outdoor Weather Displayed Indoors

Capturing outdoor weather conditions using a Particle Boron (cellular) and displaying them on an OLED indoors using a Particle Argon (wifi)

Similar projects worth following
In an effort to learn the ecosystem, I bought a Boron LTE (cellular) Air Quality kit for capturing and displaying outdoor weather conditions. But I wanted to display them indoors. So I also bought an Argon (wifi) kit and used the Particle cloud to publish and retrieve the current conditions. The OLED that came with the kit was monochrome and too small (.96"), so I used a 1.5" RGB OLED for my indoor display.

Outdoor Module:

For the outdoor module, I started with the default Particle Boron Air Quality kit. The Boron contains built-in LTE cellular connectivity to the Particle Cloud. I chose the Boron so I could locate the module anywhere outside my house without worrying about connecting to my WiFi network. 

The kIt also includes a Grove FeatherWing adapter, a temperature/humidity/atmospheric pressure sensor that's based on the Bosch BME280 chip, a Grove Air Quality Sensor,  a 0.96" 128x64 monochrome OLED, a Grove Dust Sensor, and even a LiPo battery. I didn't need a display outside so I didn't use the included OLED. I also didn't use the Grove Dust Sensor because I planned to enclose the outdoor device in an Otterbox.

My code is pretty simple. I used the Adafruit_BME280 library to read from the temperature sensor, the Grove_Air_quality_Sensor library for that sensor, and the JsonParserGeneratorRK library to build a JSON string of sensor readings to publish to the Particle Cloud. I'm keeping track of the last reading from each sensor, so I only publish when something changes. I figured that will keep my usage down for the cellular chip.

Once I had everything working on the breadboard, I used double-sided tape to secure everything inside an Otterbox for easy transport and outdoor testing.

Indoor Module:

For the indoor module, I used a Particle Argon, which includes WiFi capability so it was perfect for my in-house display. The OLED included with the Air Quality Kit above was small and monochrome. I wanted a nice display for my indoor module, so I found a 1.5" RBG OLED on Amazon and used the Adafuit_SSD1351_Photon library to drive it. This library was created 5 years ago by nfriedly for the Particle Photon. I was pleasantly surprised it worked without a hitch!

In this module's code, I simply subscribed to the Particle Cloud events created by the outdoor module above and displayed them on the OLED. I also added a greeting (i.e. Good morning, afternoon, or evening depending on the time of day), plus the current date and time, and the status of the Boron's battery and cell signal. The display cycles through different readings every 5 seconds. 

Check out the video.

  • 1 × Boron LTE CAT-M1 (NorAm) Air Quality Monitor Kit The Particle Air Quality Monitor Kit is designed to teach you how to investigate the air around you using Particle IoT hardware and software. This kit includes everything you need to build your monitoring station as well as the tutorials and documentation to keep you learning.
  • 1 × Argon, IoT Starter Kit The Argon is a powerful Wi-Fi enabled development kit that can act as a standalone Wi-Fi endpoint. It is based on the Nordic nRF52840 and has built-in battery charging circuitry so it’s easy to connect a Li-Po and deploy your local network in minutes.

  • Integrated with ThingSpeak

    mikesoniat01/12/2021 at 19:54 0 comments

    Particle's console lets you create integrations with 3rd party services using their Webhook feature. I linked my outdoor sensor readings to ThingSpeak and built some simple graphs for tracking conditions over time.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates