A Raspberry-Pico based Clima-Weather-Data Recorder. The basic idea was measure the weather raw-data for a Skew-T log-P diagram (Stüve-Diagramm).
This Software is doing an accurate measurement of temperature, pressure and humidity.
Based on these values, the SW is calculating altitude (and climb-rate), absolute water mass and the air- density. The main application should be a measurement and a basic calculation for relevant thermal gradients over the altitude.
It was the most important issue to record all relevant data and save it on the SD-Card. Later on, a extra application can calculate the Stüve-Diagram for better interpretation.
Two Testsystems with WS-2350Plus, Akku, LCD (and SD-Card), DS3231- Module (w. EEP) and the BME680 Module
Note
The Variometer values based on the accurate altitude calculation. The calculation is working fine, but the LSB's of the sensor-ADC let the Alt.value toggle. Typical +/- 0.17 m/s up to +/- 0.5 m/s. The average looks right, but in a standalone variometer applications... - it's not the main application to build an accurate variometer here.
The variometer value is for information only!
There are two types of Recording Data:
- Long interval Data- recording (Terminal AUTOLOG command)
- Short interval Data- recording (Touchscreen Altitude-Temperature dialog)
The AUTOLOG command starts the measurement each second, but build an everage over 60 seconds and write it on the SD- Card. This command is for long term measurements.
Each month, a new File is created. The filename format for example is:
- 2026Apr.log
- 2026Mai.logALT - Set default Altitude for QNH
AUTO - shows Timestamp and clima measurement date every seconds
AUTOLOG - record primary weather data and write on the SD-Card
CD, MD, RD - directory handling
CLS - clear the VT100 screen and set the cursor position top-left
CONFIG - shows the SPI- configuration
COPY - copy a file from => to filename
DEL - removing file
DIR - shows the directory
DATE and TIME - get and set time/date value
EEP - Dump EEPROM
HELP - list all commands
HUM - shows humidity
LCD - Set the background light intensity (0..100%)
PRES - shows air- pressure
TEMP - shows temperature measurement values
TIME - get and set time value
TYPE - list an ASCII-File on your terminal
VER - shows some software informations
XREC - XModem-CRC upload to uC SD-Card
XTRAN - XModem download from uC SD-Card
YREC - YMODEM-1K CRC upload to uC SD-Card (multible file transfer is possible)
For SD-Card access, this Software is using the SPI- mode. Definition of th SD-Card interface (Pico_Dev.h):
// SD-Card parameter
#define SDSPD 48
#define PIN_MISO 12
#define PIN_MOSI 11
#define PIN_SCK 10
#define PIN_SS 22
#define SDSPI SPI1
#define SDCRD PIN_SS,SPI1Note
Required Hardware :
- any Raspberry-Pico (RP2040/RP2350),
- 3inch5 LCD (WS Pico-ResTouch-LCD-3.5 or comp.ILI9488) with SD-Card
- BME680, Senormodule for Temperature, Air-pressure and humidity (Gas sensor not used)
- DS3231 and/with AT24CS32 (EEP).
- This software based on other Public Domain- Software, but some functions are modified for this application.
- The Arduino IDE, Arduino SA and the team
- Raspberry Pico GCC-implementation, done by Earle F. Philhower III
- BME680-functions by Bosch GmbH
- LCD-GUI implementation, by Waveshare inc. and others
- Realtime clock functions, by Manjunath CV