// the find
DiegoPaezA/ESP32-freeRTOS
Basic Examples of FreeRTOS with ESP32 and ESP-IDF
A folder-per-topic set of small ESP-IDF projects covering FreeRTOS primitives (tasks, task notifications, queues, semaphores, mutexes, event groups, software and hardware timers) plus peripherals including UART, I2C, SPI, DHT, SD card, Wi-Fi and MQTT. It is aimed at people learning FreeRTOS on the ESP32 who want a short main.c per concept rather than a framework. The last push was June 2024, so the code reflects the ESP-IDF of that period.
Each concept lives in its own project with its own CMakeLists.txt, so you can build and flash one example without the rest. Coverage goes past the usual textbook: the PCA9548 I2C multiplexer feeding an MPU6050 read, and the hardware timer group example, show how these primitives meet real peripherals. Several projects put pins and timing in Kconfig.projbuild instead of hardcoding them, which is the ESP-IDF convention. The author states each example was run on an ESP32 DEVKIT DOIT board, which matters more here than it would in a framework repo.
It is stale: the last push was June 2024, and nothing in the repo says which ESP-IDF version the examples target. dhtdemo/dht still carries a component.mk from the GNU Make build system that ESP-IDF removed in v5.0, so that component needs checking against a current toolchain. Build leftovers are committed, including sdkconfig and sdkconfig.old in wifi_connect_4 and wifi_ntp_3, which hold machine-specific settings. The core FreeRTOS examples (semaphores, queues, event groups, timers, task notifications) have no readme at all, and the README says the real write-ups are still being done on an external site. Folder names mix Spanish and English (tareas_Planificador_1, gruposEventos_1, cxColas_1), and the table has typos, which makes the repo harder to navigate.