About | Requirements | Installation | Usage | References | Contributing | License
This project provides an implementation of a weather station on STM32F7 microcontroller using FreeRTOS, MbedTLS, WM-SG-SM-42 LoRa module from USI, and ESP8266 Wi-Fi module.
(WIP)
- (WIP)
The project is structured to follow best practices for STM32 development using FreeRTOS, with a focus on modularity and reusability.
STM32_Weather_Station follows the topology of the official packages provided by STMicroelectronics, known as "STM32Cube."
This means that the project is compatible with various STM32Cube Firmware Packages such as STM32Cube Firmware Packages (e.g., STM32CubeF7, STM32CubeWB) or STM32Cube Extension Softwares (e.g., X-CUBE-AZURE, X-CUBE-FREERTOS), enabling further expansion and customization for specific applications.
This Software Bill Of Materials (SBOM) itemizes the software components included in this package, detailing the copyright holder and licensing terms for each.
Component | Version | Copyright | License |
---|---|---|---|
CMSIS Core | x | ARM Limited | Apache License 2.0 |
CMSIS Device STM32F7 | x | ARM Limited | Apache License 2.0 |
Drivers HAL/LL STM32F7 | x | STMicroelectronics | BSD-3-Clause |
BSP Components | x | STMicroelectronics | BSD-3-Clause |
FreeRTOS-Kernel | x | Amazon.com | MIT |
Applications projects | x | Amazon.com, STMicroelectronics, Orel138 | MIT |
- 32F769IDISCOVERY Discovery kit - Discovery kit with STM32F769NI MCU
- STM32F769NIH6 Arm® Cortex®‑M7 core-based microcontroller with 2 Mbytes of flash memory and 532 Kbytes of RAM.
- 4-inch 800 x 472‑pixel capacitive touch TFT color LCD.
- Wi‑Fi® daughterboard (for ESP8266 module).
- I-NUCLEO-LRWAN1 - USI® STM32™ Nucleo expansion board for LoRa™
- USI® WM-SG-SM-42 LPWAN module supporting LoRa® technology.
- ST relative humidity and temperature sensor (HTS221).
- ST pressure sensor (LPS22HB).
- ESP8266
Before you begin, ensure you have the following software installed:
- STM32CubeIDE v1.14.1 or later
- STM32CubeMX v6.11.0 or later
- STM32CubeProgrammer v2.16.0 or later
To install STM32_Weather_Station, follow these steps:
- Clone the repository
git clone https://github.com/Orel138/STM32_Weather_Station.git
- Navigate to the project directory
cd STM32_Weather_Station
- Initialize the submodules
git submodule update --init
- Open the project with STM32CubeIDE (open the .project or .cproject file). Projects for STM32CubeIDE are located in Projects/{Board}/Applications/{FreeRTOS-TOTP}/STM32CubeIDE/.
- Build the project in STM32CubeIDE.
- Debug in the IDE or use STM32CubeProgrammer to flash the executable.
- The executable (.elf file) will be in the Projects/{Board}/Applications/{FreeRTOS-TOTP}/STM32CubeIDE/Debug folder.
- You can now drag and drop the .elf file to your board and see the user LED blink.
- Or you can modify the project for your STM32 target with STM32CubeIDE and STM32CubeMX.
Work in Progress (WIP)
Work in Progress (WIP)
We welcome your contributions to STM32_Weather_Station.
To contribute:
- Fork the repository.
- Create a new branch: git checkout -b [branch-name].
- Make your changes and commit them: git commit -m '[commit-message]'.
- Push to the original branch: git push origin [project-name]/[location].
- Create the pull request.
STM32_Weather_Station is released under the MIT license © Orel138.
Tip
I trust you'll find this project enjoyable. Should you appreciate the project, bestowing a small ⭐ on it is a meaningful gesture, signifying: My efforts are recognized. Your support would be greatly valued. Many thanks!