Page 1 of 1

I2C protocol that allows ESP32 slave and master

Posted: Mon Mar 09, 2026 3:59 pm
by SciFi_Bob
Hello World !

I have created this project for a larger project that I am working on and thought that I would share it with the world.

I started learning this whole stack, including C, about 9 months ago for the larger project and so If I have done things wrong, or not built the release format right etc please just give me pointers :-)
  • The 'driver' allows you to send or receive data from between two esp32-S3 devices at ~8Kb/s in 'udp' (e.g just send it) and about 5.3Kb/s for 'tcp' (e.g. you get a confirmation of the receipt. with the default 40 byte packets. You can increase in the settings.
    Each packet is sent with a crc.
    The driver will auto chunk any data over the configured payload size (40 Bytes by default). Because of the back and forth this is somewhat slower at ~3Kb/s
    Each request the master makes can include a command ID for onward routing at the other end and also a reply type which can include a chunked data response. eg "Hi run command1 and get me the data back which I expect to be more than 40 Bytes"
All feedback is more than welcome, hope people find it of use somewhere !


https://github.com/PhilWilliams-dev/esp ... c_protocol