Real-time data acquisition firmware for the STM32F746G-DISCO.
The project is being developed as an embedded systems portfolio project and as the basis for a bachelor's thesis on real-time data acquisition.
- STM32F746G-DISCO
- STM32F746NGH6 (ARM Cortex-M7)
- ST-LINK/V2-1
- ST-LINK Virtual COM Port
- STM32CubeMX
- CMake + Ninja
- arm-none-eabi-gcc
- OpenOCD
- Board bring-up and ST-LINK flashing
- GPIO input/output
- USART1 polling TX/RX
- EXTI11 button interrupt
- TIM6 hardware time base
- TIM6 update interrupt
- ADC polling
- TIM6-triggered ADC sampling
- DMA-based ADC acquisition
TIM6 → ADC → DMA → RAM buffer → packetization → host interface
- ADC polling
- Hardware-triggered ADC
- Circular / double-buffered DMA
- Block timestamps
- Binary transport protocol
- CRC and error counters
- Host-side Python receiver and visualization
- Sampling-rate / throughput / data-loss measurements