Project Overview
The "Aura-Cast IoT Weather Station" is a high-integration environmental monitor that bridges the gap between local hyper-local physical sensing and global meteorological data. Built upon the Arduino Oplà IoT Kit, the device functions as a dual-source intelligence node: it utilizes the onboard sensors (temperature, humidity, and pressure) for immediate room-level data, while simultaneously executing RESTful API requests to the 7Timer! forecast service for 7-day predictive analysis. It is a study in JSON serialization, WiFi power-management, and capacitive touch-button navigation.
Technical Deep-Dive
- The Oplà Hardware Stack:
- MKR WiFi 1010: At the heart of the system is the SAMD21-based MKR 1010, which handles the network stack and compute logic.
- MKR IoT Carrier: This board provides the user interface, featuring a circular 1.2" OLED display, multiple Grove connectors, and integrated sensors for barometric pressure (LPS22HB) and humidity (HTS221).
- RESTful API & JSON Pipeline:
- GET Request Logic: The system sends a standardized HTTP GET request containing the geographic coordinates (Prague default: 50.076N, 14.438E).
- Asynchronous Parsing: The response from 7Timer! is a structured JSON string. The firmware utilizes the
Arduino_JSONlibrary to parse this multi-layered object into a memory-efficient array of C-structs, extracting min/max temperatures, cloud coverage, and wind velocity indices.
- Capacitive Human Interface:
- Navigation Logic: The Oplà uses physical capacitive touch sensors (Buttons 0, 2, and 4). These are managed via the
MKRIoTCarrierlibrary, allowing the user to "swipe" through the 7-day forecast or jump back to the "Real-Time Sensor Dashboard." - State Machine Timeout: To optimize the display usage, a 10-second activity timer is implemented. If no interaction is detected, the display automatically reverts to the "Current Day Forecast," ensuring the most critical data is always visible.
- Navigation Logic: The Oplà uses physical capacitive touch sensors (Buttons 0, 2, and 4). These are managed via the
- Power Optimization (Low Power WiFi):
- Since the Nina-W102 WiFi module is the most power-hungry component, the firmware enters a Low Power Mode between the 60-minute update intervals. This significantly extends the life of the Li-Po battery, making the Oplà a truly portable desktop companion.
Engineering & Operation
- Credential Security: The project utilizes the
arduino_secrets.hpattern to isolate WiFi SSIDs and passwords from the main logic code, a professional-grade practice that prevents sensitive information from being accidentally committed to public repositories (like GitHub). - Environmental Synchronization: Every hour, the system triggers a "Red Background" update state. This visual cue tells the user that the system is currently "Network-Locked"—requesting updated forecast packets and re-calibrating the local analog sensors.
- Dynamic Visual Design: The UI utilizes color-coding to separate data domains—Blue for global forecast data and Green for local hyper-local sensor readings. This use of "Chrominance for Categorization" improves the user's cognitive load when reading data at a glance.
- Future Resilience: The architecture is designed to be location-agnostic. By simply updating the floating-point latitude and longitude variables, the device can be re-deployed anywhere on the planet without modification to the core parsing logic.