STM32F722ZE: Guidance on Firmware Architecture for a Multi-Sensor Scientific Payload
Hello everyone,
I am a student member of Team VITAKSH at VIT Bhopal University, India. We are developing a scientific payload called OSAD (Open Spectral Atmosphere Dataset) for a high-altitude balloon mission.
Our objective is to measure solar spectral variations at different altitudes and correlate them with atmospheric and environmental parameters.
We have procured the STM32 NUCLEO-F722ZE and are beginning firmware development. Before integrating all our sensors, we want to establish a reliable firmware architecture rather than simply implementing each sensor independently.
Our payload involves multiple sensors communicating over I²C, SPI and UART. We expect to acquire measurements periodically, timestamp them, process the incoming data and store them reliably for post-flight analysis.
We are currently trying to understand a few architectural decisions:
1. Firmware structure: What would be a good way to organise a multi-sensor acquisition system using STM32CubeIDE and HAL? Would a modular, interrupt-driven architecture be a suitable starting point?
2. Timers and DMA: How should we approach periodic sensor acquisition using hardware timers? Where would DMA provide a meaningful advantage over interrupt-based or polling methods, particularly for SPI and UART communication?
3. Data handling: What would be a reliable approach to buffering, timestamping and transferring sensor data to external memory without losing samples?
4. Reliability: What practices should we follow for peripheral error handling, communication timeouts, sensor failures and recovery?
We are not trying to build a complicated RTOS-based system immediately. We would prefer to understand the fundamentals and establish a clean, maintainable bare-metal architecture first, while keeping future expansion in mind.
We would particularly appreciate recommendations for relevant STM32CubeF7 examples, application notes or reference projects that demonstrate these approaches.
We are students learning through an actual engineering project, so practical suggestions and lessons from real STM32 applications would be extremely valuable to us.
Thank you for your time!
