Firmware repository for STM32 and ESP32 microcontrollers on the ENTS-node board along with supporting libraries. This repository acts as the central hub for all repositories related to the project.
All components of the ENTS project are open source and live across a range of repositories. This repository serves as a central hub for all components for the project including software and hardware.
Repository | Description |
---|---|
https://github.com/jlab-sensing/ents-node-firmware | Firmware for microcontrollers |
https://github.com/jlab-sensing/platform-ststm32 | Fork with our board and modifications to build script |
https://github.com/jlab-sensing/tool-openocd | For allowing for user defined openocd binary |
https://github.com/jlab-sensing/STM32CubeWL | Platformio library for STMicroelectronics HAL and other libraries |
https://github.com/jlab-sensing/soil_power_sensor | Hardware design files for the sensor board |
The following paths are the major parts of the project. Each individual folder has more information relating to implementation and development.
Path | Description | Link |
---|---|---|
stm32/ |
Platformio project for the stm32-based Wio-E5 mini | @ref ./stm32/README.md |
esp32/ |
Platformio project for the ESP32-C3-MINI-N1 | @ref ./esp32/README.md |
proto/ |
Protobuf definitions and language specific libraries | @ref ./proto/README.md |
The following is the list of the software used for developing the firmware. The versions listed were the ones used for developing the initial release of the firmware. Versions too far into the past might cause unforeseen errors.
Software | Version | Optional |
---|---|---|
platformio | 6.1.7 |
No |
stm32pio | 2.1.0 |
Yes, for code generation |
STM32CubeMX | 6.10.0 |
Yes, for code generation |
STM32CubeIDE | 1.13.2 |
Yes, for flashing with openocd on Windows |
STM32CubeProg | 2.15.0 |
Yes, for initial flash and clearing read protection from Wio-E5 |
Nanopb | 0.4.8 |
No |
protobuf | 25.2 |
No |
Make | 4.4.1 |
No |
This project use Doxygen for its code documentation. HTML documentation is automatically generated through Github Actions and is updated whenever there is a change to the main
branch. To generate documentation locally in the docs/
folder, run the following from the root directory:
doxygen Doxyfile
Online version of the documentation for the main
branch is available at https://jlab-sensing.github.io/ents-node-firmware/
Below is a list of resources that served as references throughout the design and implementation for the project.
For issues relating to software create an issue in this repository. For hardware issues, create an issue in the hardware repository.
See CONTRIBUTING.md.
This project adheres to Contributor Covenant. See Code of Conduct for a local copy.
Code in this repository is licensed under the MIT License unless specified in the file header. See @ref LICENSE for full document.