Miniz
Miniz is a lossless data compression library that implements RFC 1950 and RFC 1951 for compression/decompression. The library port in ESP-IDF is licensed under the MIT license. ESP-IDF has already imported it for its own purposes, but we can also use it freely. There is no need for library management. Miniz can be especially helpful when you need to transfer a large amount of data. After compressing and sending the data, the receiving side can easily decompress it with any library that implements the same RFCs.
Unfortunately, the documentation is very poor (in fact, there is almost none) for Miniz. You can see the examples in this repository: https://github.com/richgel999/miniz
In this example, we will simply compress and decompress a sample text by pressing the buttons on ESP32-S3 Box Lite. There is no other hardware required in this example. We can create a new project to see how to use this library in an application next.
Creating a project
Let’s create...