I built this project to learn about C, STM32, and FreeRTOS.
- Voltage Manager: measure voltage with ADC
- Environment Manager: measure temperature and pressure using BMP180 I2C sensor
- Status LED: adjust the LED brightness for different voltages using PWM
- Button Interrupt: send a message on UART if the button is pressed
- Watchdog: if all health flags are healthy, kick the watchdog
As you can see in Obstacles, I found this project pretty challenging, so I learned a lot. Also, you can view the full project on GitHub.
Here’s an interactive diagram for all the components.