Skip to content

Ludovic-Lesur/spsws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

The aim of the MeteoFox project was to design an autonomous weather station using solar energy and Sigfox connectivity. The SPSWS is the main processing board of the device.

Hardware

The boards were designed on Circuit Maker V1.3. Below is the list of hardware revisions:

Hardware revision Description Status
SPSWS HW1.0 Initial version for prototyping.
SPSWS HW2.0 PCB fitted to outdoor casing.
Add connectors to external sensors and antennas.
Separate SPI interfaces for radio and ADC.
Improved power tree.
Shielding added on the radio circuitry.

The weather station is also composed of 2 daughter boards which embed the meteorological sensors. These boards are located outdoor in a dedicated casing, out of the main enclosure.

Hardware revision Description Status
MPMCM HW1.0 Initial version with all sensors.
THPSM HW1.0 Initial version.
THPSM HW1.1 Change form factor.
LUSM HW1.0 Initial version.
LUSM HW1.1 Change form factor.

Embedded software

Environment

As of version sw1.2.3 the embedded software is developed under Eclipse IDE version 2024-09 (4.33.0) and GNU MCU plugin. The script folder contains Eclipse run/debug configuration files and JLink scripts to flash the MCU.

Warning

To compile any version under sw3.0, the git_version.sh script must be patched when sscanf function is called: the SW prefix must be replaced by sw since Git tags have been renamed in this way.

Target

The SPSWS boards are based on the STM32L041K6U6 (HW1.0) and the STM32L081C8T6 microcontroller of the STMicroelectronics L0 family. Each hardware revision has a corresponding build configuration in the Eclipse project, which sets up the code for the selected board version.

Structure

The project is organized as follow:

  • drivers :
    • device : MCU startup code and linker script.
    • registers : MCU registers address definition.
    • peripherals : internal MCU peripherals drivers.
    • components : external components drivers.
    • utils : utility functions.
  • middleware :
    • analog : High level analog measurements driver.
    • cli : AT commands implementation.
    • gps : High level GPS driver.
    • power : Board power tree manager.
    • sigfox : Sigfox EP_LIB and ADDON_RFP submodules and low level implementation.
  • application : Main application.

Sigfox library

Sigfox technology is very well suited for this application for 3 main reasons:

  • Data quantity is low, weather data can be packaged on a few bytes and does not require high speed transmission.
  • Low power communication enables energy harvesting (solar cell + supercap in this case), so that the device is autonomous.
  • The weather station can be placed is very isolated places thanks to the long range performance.

The project is based on the Sigfox end-point open source library which is embedded as a Git submodule.

About

MeteoFox project : solar powered Sigfox weather station (STM32L081CBT6).

Resources

Stars

Watchers

Forks

Packages

No packages published