100%
automatic-weather-station Cryologger AWS view
Description

Imported from GitHub: cryologger/automatic-weather-station · commit ddce008 · license GPL-3.0

Description

A low-cost automatic weather station based on the open-source Arduino platform.

README

Cryologger - Automatic Weather Station (AWS)

Note: This project is under active development.

DSC_7941

1.0 Introduction

Polar environments are undergoing rapid environmental change, yet there is a lack of high spatial and temporal monitoring data available in these remote regions. Reliance on expensive and proprietary commercial data acquisition and telemetry systems can inhibit both researchers and citizen scientists and present a significant barrier to the establishment of widespread monitoring networks. The development of low-cost, open-source instrumentation can greatly reduce the cost of cryospheric research, improve the spatial density and coverage of collected data, and produce new ways to observe and monitor the cryosphere.

The Cryologger Automatic Weather Station (AWS), is an open-source datalogger and telemeter comprised of low-cost, off the shelf components that is capable of supporting the physical measurement needs of a variety of cryospheric scientific applications when configured as an automatic weather station (AWS).

2.0 Methods

2.1 Design

The Cryologger AWS is based on the open-source Arduino platform (www.arduino.cc) and built using low-cost, do-it-yourself electronics that can be easily modified to meet the needs of the end-user. Code was written using the Arduino Integrated Development Environment (IDE) and benefits from the availability of community-generated libraries.

Planned for extended deployments in harsh Arctic conditions, the Cryologger AWS provides long-term measurements of weather variables such as temperature, humidity, wind speed, wind direction, solar irradiance and snow depth, as well as system diagnostic variables including pitch, roll, battery voltage. Data are transmitted over the Iridium satellite network at specified intervals and can be remotely updated based on the desired sampling frequency. Collected data are made available in near-real time at https://cryologger.org.

2.1.1. Bill of Materials (BOM)

For a complete bill of materials, including requirements for power and mounting of a complete deployable system, please see ASSEMBLY.md.

Table 1. Bill of materials and associated costs for the main components used in the Cryologger AWS v1.0. Prices are listed in USD and are current as of December 2023. Taxes and shipping not included. 1Denotes optional component.

ComponentProductQuantityCost (USD)
PCBCustom Cryologger Printed Circuit Board1$5.00
Satellite transceiverRock7 RockBLOCK 96031$267.50
Satellite antennaMaxtena M1621HCT-P-SMA1$54.00
ProcessorAdafruit Feather M0 Adalogger1$19.95
GNSSAdafruit Ultimate GPS FeatherWing1$24.95
IMUAdafruit LSM303AGR Accelerometer Magnetometer1$12.50
SensorAdafruit BME280 Temperature Humidity Pressure Sensor 1$14.95
Voltage regulatorPololu D36V6F3 3.3V 600mA Step-Down Voltage Regulator1$16.95
Voltage regulatorPololu D36V6F5 5V 600mA Step-Down Voltage Regulator1$16.95
Voltage regulatorPololu U3V40F12 12V Step-Up Voltage Regulator 1$9.95
Resistor10 M 1% 0.6 W resistor1$0.44
Resistor1 M 1% 0.6 W resistor1$0.40
Capacitor0.1 uF Capacitor1$0.29
Power connector1
Power connector1
Connector1

Table 2. Environmental sensors used in Cryologger AWS v1.0. Prices are listed in USD and are current as of December 2023. Taxes and shipping not included.

Environment VariableSensorCost (USD)
Wind Speed & DirectionRM Young Wind Monitor 5103L Anemometer$1432
Temperature/Relative HumidityVaisala HMP60 Humidity and Temperature Probe$330
Solar IrradianceSP-212-SS: Amplified 0-2.5 Volt Pyranometer$325
Snow DepthMaxboxtix MB7374 HRXL-MaxSonar-WRST7$290

2.2 Operation

When initially powered on, the Cryologger AWS will attempt to establish a GNSS fix and sychronize the real-time clock (RTC) for up to 5 minutes. Once the RTC is synchronized, the system will set an alarm to wake at the user-specified time and then enter a low-power deep sleep. Nominally, the system will wake every 5 minutes, obtain measurements from all sensors, and log data to a microSD card. Measurements are averaged each hour and transmitted

While the system is in deep sleep, a Watchdog Timer (WDT) will wake the system to check the program has not frozen every 8 seconds and perform a reset, if necessary. This helps to ensure the long-term reliability of the system.

2.2.1 Measurements

Table 2. List of Cryologger AWS v1.0 data variables that can be transmitted and/or logged with variable sizes.

TypeVariableDescriptionSize (bytes)
uint32_tunixtimeUNIX Epoch time4
int16_ttemperatureIntInternal temperature (°C)2
uint16_thumidityIntInternal humidity (%)2
uint16_tpressureIntInternal pressure (hPa)2
int16_ttemperatureExtExternal temperature (°C)2
uint16_thumidityExtExternal humidity (%)2
int16_tpitchPitch (°)2
int16_trollRoll (°)2
uint16_tsolarSolar irradiance (W m-2)2
uint16_twindSpeedMean wind speed (m/s)2
uint16_twindDirectionMean wind direction (°)2
uint16_twindGustSpeedWind gust speed (m/s)2
uint16_twindGustDirectionWind gust direction (°)2
int32_tlatitudeLatitude (DD)4
int32_tlongitudeLongitude (DD)4
uint8_tsatellitesNumber of satellites1
uint16_thdopHDOP2
uint16_tvoltageBattery voltage (V)2
uint16_ttransmitDurationPrevious transmission duration (s)2
uint8_ttransmitStatusIridium return code1
uint16_titerationCounterMessage counter2

2.2.2 Data Transmission and Processing

Sensor measurements and GNSS position are recorded hourly and stored in memory until the desired transmission interval is reached. Data are compressed into a binary message (340 bytes maximum) to minimize the cost and total number of transmissions required. Data are transmitted via the Iridium Short Burst Data (SBD) satellite network at user-specified intervals, which can be remotely updated based on the desired sampling frequency. SBD data messages are received by an Iridium ground station and sent to Ground Control's server. The data is then forwarded to an Amazon Web Services (AWS) SQS queue, decoded using an AWS Lambda Python function and stored in a database using the Amazon Relational Database Service (RDS). Data can be viewed in near-real time at https://cryologger.org.

3.0 Deployments

4.0 Results

5.0 Conclusion

Repository Contents

  • /Documentation - Assembly, deployment and troubleshoting guides, as well as information of components used and associated costs.

  • /Hardware - KiCad PCB schematic and design files.

  • /Software - Arduino code and Python data analysis scripts.

License Information

Cryologger code, firmware, and software is licensed under the GNU General Public License v3.0 (https://www.gnu.org/licenses/gpl-3.0.en.html).

Cheers,

Adam

Comments
Sign in to comment

No comments yet. Be the first to ask about this board.