Zero-copy, interruptible MQTT protocol parser and serialiser written in C. Based initially on Deoxxa’s code and extended to support full client and server parsing and serialization.


mqtt-protocol-c is designed for use in resource-constrained environments. To that end, it avoids making any memory allocations or assumptions about the underlying system. It handles only the binary parsing/serialising part of the MQTT protocol, leaving all the logic and networking up to the user.


Take a look at test_serialiser and test_parser in the bin/test.c file.


BSD-3 Clause license. You can read the full license from here.


Used by

SoC support

  • esp32

  • esp32c2

  • esp32c3

  • esp32s2

  • esp32s3

  • esp8266

  • host

  • rp2040