https://github.com/larus-breeze/sw_sensor
Firmware for Larus sensor
https://github.com/larus-breeze/sw_sensor
flight-data-logger gnss soaring stm32f4 variometer
Last synced: 2 months ago
JSON representation
Firmware for Larus sensor
- Host: GitHub
- URL: https://github.com/larus-breeze/sw_sensor
- Owner: larus-breeze
- Created: 2020-11-21T15:46:58.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2026-01-13T11:34:22.000Z (3 months ago)
- Last Synced: 2026-01-13T14:33:14.619Z (3 months ago)
- Topics: flight-data-logger, gnss, soaring, stm32f4, variometer
- Language: C
- Homepage:
- Size: 6.05 MB
- Stars: 3
- Watchers: 10
- Forks: 5
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Software Sensor
- For hardware design see: https://github.com/larus-breeze/hw_sensor
## Facts
- STM32CubeIDE
- STM32F407VG
- FreeRTOS
- IMU
- GNSS
- Static pressure
- Differential pressure
- CAN interface
- Bluetooth via HM19 (HW-1.0) ESP32 (HW-2.0)
- RS232 NMEA output channels
# How to use it
Some usefull git commands to work with this repository and the included submodule **command line**:
Clone via https:
git clone --recurse-submodules https://github.com/larus-breeze/sw_sensor
Clone via ssh:
git clone --recurse-submodules git@github.com:larus-breeze/sw_sensor.git
Switch to a branch:
git checkout branch_name --recurse-submodules
Pull latest changes:
git pull --recurse-submodules
# STM32 Build Configurations
- Release used for release versions (Max. optimized, no debug info)
- Debug used for development
# Flash and prepare the sensor hardware
## STM32
- Flash via USB using the STM32CubeProgrammer and a compiled binary sw_sensor.elf file from here: https://github.com/larus-breeze/sw_sensor/releases
Hold the Boot Button on power-on to start the STM32 in the DFU bootloader mode.
Use the STM32CubeProgrammer to flash the binary to the STM32 micro-controller.
## ESP32 controller
- Flash the *.ino file in ESP32_Firmware with arduino studio via the esp32 usb connector.
- Optionally: Use the arduino IDE to change the device name and the RF mode (Bluetooth or WLAN).
## Prepare an sd-card with configuration files
- put a larus_sensor_config.ini file (template in configuration/) in the sd cards root directory. Adjust the parameters as described in configuration/README.md
Initially the heading may be inaccurate as the magnetic calibration algorithm needs some time in the air to find the exact calibration.
A 30 minutes flight with some right and left turns should be sufficient to calibrate the compass module.
- Optionally: Create a directory with the name "logger" to enable logging of all measurement data with 100Hz
- Optionally: Create a directory with the name "magnetic" to enable the logging of magnetic calibration events.
There should be a few of these events during the calibration process.
If you observe frequent additional events you probabely have moving ferromagnetic parts in the vicinity of the magnetometer.
### Additional developer options
- Put an empty file with the name: "sensor.readings" in order to switch the serial output format from Larus NMEA syntax to pure sensor raw data values.
# Led signal indications
There are LEDs on the PCBs edge which indicate the following
- SD-CARD (blue)
- Off: No uSD-Card detected
- On: uSD-Card detected
- Flashing: Actively logging (writing) to card
- SYSTEM (blue)
- Off: System not working at all
- Flashing: Indicates that FreeRTOS and the tasks are running.
- GNSS (blue)
- Off: No GNSS fix
- Flashing: GNSS fix
- ERROR (red)
- Flashing: at least one of the sensors IMU, static pressure, dynamic pressure or GNSS is not working.
- Sporadic flashing: DGNSS heading fix is briefly missing.
- ESP (blue)
- Not used currently