STM32 Firmware Optimization for High-Speed Data Logging
Budget: ₹600 – ₹1,500 INR
Project Description
I am working on a high-speed data logging proof-of-concept using STM32H723VGT6 / STM32H743VIT6.
The current firmware already achieves ~100 Mbps (≈12.5 MB/s) SD card write speed using SDMMC (4-bit) + DMA + FatFS, but it requires optimization, validation, and exFAT support.
The goal is to make the firmware production-ready, reliable, and extensible for future data sources.
Scope of Work
Phase 1 – Optimization & Validation
Optimize existing SDMMC + DMA write pipeline
Ensure throughput reflects actual SD card writes, not RAM/cache
Fix cache coherency (D-Cache), DMA alignment, buffering, and FIFO issues
Improve FatFS sync, error handling, and file integrity
Achieve stable continuous logging at ≥100 Mbps
Phase 2 – CSV Logging with Timestamp
Replace raw/binary logging with CSV-based logging
Each CSV entry must include:
Timestamp (internal RTC preferred; µs/ms timer acceptable)
Data value(s)
CSV formatting must not significantly impact throughput
Implement file rollover:
Size-based or date-wise CSV files
Safe handling of FAT32 & exFAT file size limits
Phase 3 – Data Source Abstraction
Current data source: dummy/random data generator
Future data source: external SPI-based IC (~100 Mbps)
SD write engine must remain unchanged
Provide a clean API to swap data sources later (DMA/ISR-friendly)
Hardware & Tools
MCU: STM32H723VGT6
Board: WEAct Studio STM32H723 (onboard SD slot)
Interface: SDMMC (4-bit mode)
IDE: STM32CubeIDE
File System: FatFS (FAT32 + exFAT)
SD Cards: 128 GB A1 EXFAT BASED XC industrial grade SD card
Deliverables
Optimized STM32CubeIDE project (.ioc + source code)
Reliable exFAT logging on 128 GB SD card
Sustained ≥100 Mbps without FS errors or overruns
CSV log files readable on PC after power-cycle
Short technical report covering:
SD clock & DMA configuration
FatFS/exFAT settings
Performance observations & recommendations
Required Experience
STM32H7 series
SDMMC + DMA multi-block writes
FatFS performance tuning
Cache/DMA coherency handling
exFAT implementation on STM32
This project will be awarded only to freelancers who can demonstrate working exFAT SD card data logging. The current implementation works on FAT32, but the final solution must support exFAT.
I am working on a high-speed data logging proof-of-concept using STM32H723VGT6 / STM32H743VIT6.
The current firmware already achieves ~100 Mbps (≈12.5 MB/s) SD card write speed using SDMMC (4-bit) + DMA + FatFS, but it requires optimization, validation, and exFAT support.
The goal is to make the firmware production-ready, reliable, and extensible for future data sources.
Scope of Work
Phase 1 – Optimization & Validation
Optimize existing SDMMC + DMA write pipeline
Ensure throughput reflects actual SD card writes, not RAM/cache
Fix cache coherency (D-Cache), DMA alignment, buffering, and FIFO issues
Improve FatFS sync, error handling, and file integrity
Achieve stable continuous logging at ≥100 Mbps
Phase 2 – CSV Logging with Timestamp
Replace raw/binary logging with CSV-based logging
Each CSV entry must include:
Timestamp (internal RTC preferred; µs/ms timer acceptable)
Data value(s)
CSV formatting must not significantly impact throughput
Implement file rollover:
Size-based or date-wise CSV files
Safe handling of FAT32 & exFAT file size limits
Phase 3 – Data Source Abstraction
Current data source: dummy/random data generator
Future data source: external SPI-based IC (~100 Mbps)
SD write engine must remain unchanged
Provide a clean API to swap data sources later (DMA/ISR-friendly)
Hardware & Tools
MCU: STM32H723VGT6
Board: WEAct Studio STM32H723 (onboard SD slot)
Interface: SDMMC (4-bit mode)
IDE: STM32CubeIDE
File System: FatFS (FAT32 + exFAT)
SD Cards: 128 GB A1 EXFAT BASED XC industrial grade SD card
Deliverables
Optimized STM32CubeIDE project (.ioc + source code)
Reliable exFAT logging on 128 GB SD card
Sustained ≥100 Mbps without FS errors or overruns
CSV log files readable on PC after power-cycle
Short technical report covering:
SD clock & DMA configuration
FatFS/exFAT settings
Performance observations & recommendations
Required Experience
STM32H7 series
SDMMC + DMA multi-block writes
FatFS performance tuning
Cache/DMA coherency handling
exFAT implementation on STM32
This project will be awarded only to freelancers who can demonstrate working exFAT SD card data logging. The current implementation works on FAT32, but the final solution must support exFAT.
Related categories:
C Programming
Microcontroller
Embedded Software
Arduino
Firmware
Embedded Systems
STM32