This research project showcases the development of an integrated system involving an embedded linux computer (Raspberry Pi) and a 32-bit microcontroller (STM32H723ZGT) with ARM processor utilizing I2C communication protocol. A Linux driver was developed which acts as an interface for the microcontroller to which peripheral devices are connected. Additionally, a custom protocol on top of I2C was designed and implemented to transfer complex data as structs.
Embedded Linux, Linux Kernel Module(driver), Device Driver, HAL, I2C, Timer, Interrupt, STM32, Cube IDE, Servo Motor, Struct, Embedded C/C++, Python