Past attempt and my plan for the future

A project log for Weather Pyramid

Measures wind speed via inertial sensors and rain with capacitive. Maintenance free, LPWAN, 3D printed (Not yet another AWS)

Manolis NikiforakisManolis Nikiforakis 04/23/2018 at 03:300 Comments

This solid state weather station concept is stuck in my mind for quite some time now. I did give it a shot in the past  but never had time to complete a fully working prototype. My first attempt was based on Arduino nano (Atmega328) with nRF24 using ESP8266 as a gateway. Software wise, it was build on the excellent framework . More info here:

Lets call this old attempt version v0.1.

For my new attempt v0.2 I will develop in Arduino flavor to keep things simple, using of the shelf modules, while keeping communications over WiFi only. This version will focus to get a bit of everything kind of working essentially creating the development platform together with a 3D printed enclosure for real-world tests. Follow up versions will improve on major flaws found, improve measurements' accuracy, power management and add more features like LoRaWAN and/or other LPWAN communications.

I've done an extensive research on many hardware modules that fit the description and I am not sure if I should use ESP32 being a more futureproof MCU and connect additional LPWAN modules it in the future (or hope they will become available) or go for a LoRaWAN all-in-one board like SODAQ one, which has almost everything that I need or SeeedStudio LoRaWAN board (both are based on SAMD21). Unfortunately there many ESP32 - LoRa boards but no LoRaWAN ones and I dont want to have the LoRaWAN LMIC stack in my code.

Hopefully the arduino code should be easily made compatible with both architectures, atleast in early stages until I decide where to focus.

The reason I'm compering SAMD21 with ESP32 is due to the low power modes (with modem off)  of the later, you can still chose it as an general purpose MCU and keep WiFi a free bonus to use when needed.  Found some recent examples / libraries to kickstart the inertial sensor:

Any feedback / comments / useful links, more than welcome!