STM32 I2C Driver Development
Budget: ₹12,500 – ₹37,500 INR
I need a clean, well-documented I2C driver written in C for my STM32 board. The driver must operate in both master and slave modes while staying strictly within the 100 kHz Standard-mode specification. Full read and write transactions are required in each role, including proper start/stop sequencing, ACK/NACK handling, and error recovery for bus faults or time-outs.
My current firmware is built with STM32CubeIDE, so the new module should compile there without warnings and slot neatly into the existing HAL-based project structure (pure LL implementations are also acceptable if you explain the integration steps).
Deliverables
• Source and header files with clear, line-level comments
• An initialization routine that lets me choose master or slave at runtime
• Blocking and non-blocking (interrupt or DMA) transfer functions for reads and writes
• A concise example project that exercises master-to-slave and slave-to-master loops at 100 kHz, showing data integrity in both directions
• A short README describing API usage, required clock settings, and any board-level wiring considerations
Acceptance criteria: the demo project must build in CubeIDE, run on my hardware, and pass a logic-analyzer capture showing correct waveforms for 10 consecutive read-then-write transactions in both roles.
If you have questions about the board revision or pinout, let me know early so we can keep the turnaround tight.
My current firmware is built with STM32CubeIDE, so the new module should compile there without warnings and slot neatly into the existing HAL-based project structure (pure LL implementations are also acceptable if you explain the integration steps).
Deliverables
• Source and header files with clear, line-level comments
• An initialization routine that lets me choose master or slave at runtime
• Blocking and non-blocking (interrupt or DMA) transfer functions for reads and writes
• A concise example project that exercises master-to-slave and slave-to-master loops at 100 kHz, showing data integrity in both directions
• A short README describing API usage, required clock settings, and any board-level wiring considerations
Acceptance criteria: the demo project must build in CubeIDE, run on my hardware, and pass a logic-analyzer capture showing correct waveforms for 10 consecutive read-then-write transactions in both roles.
If you have questions about the board revision or pinout, let me know early so we can keep the turnaround tight.
Related categories:
C Programming
Electronics
Microcontroller
C++ Programming
Embedded Systems
I2C
STM32
Firmware Development