A ESP-IDF não compila arquivos .c soltos. Ela exige uma estrutura de pastas com arquivos CMakeLists.txt para entender como juntar o FreeRTOS ao seu código.
Os arquivos CMakeLists.txt são pequenos blocos de texto fixos. Você só precisa criá-los uma vez e copiá-los para os próximos projetos.
Segue um guia para organizar o projeto e identificar as portas da placa em cada sistema operacional.
Para que o CLion ou o Terminal consigam compilar seu arquivo exemplo (vamos chamá-lo de main.c), você deve criar exatamente esta estrutura de pastas:
MeuProjeto/├── CMakeLists.txt└── main/ ├── CMakeLists.txt └── main.c <-- O seu arquivo exemplo em C entra aquiMeuProjeto/CMakeLists.txt (O arquivo da raiz):Crie um arquivo de texto com este nome na pasta principal e cole isto:
cmake_minimum_required(VERSION 3.16)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)project(meu_projeto_esp32)MeuProjeto/main/CMakeLists.txt (O arquivo dentro da pasta main):Crie outro arquivo de texto dentro da pasta main junto com seu código .c e cole isto:
idf_component_register(SRCS "main.c" INCLUDE_DIRS ".")Nota: Se o seu arquivo exemplo tiver outro nome (como exemplo.c), mude o "main.c" acima para o nome correto.
Pronto! Agora o CLion vai conseguir abrir a pasta MeuProjeto e o terminal vai conseguir rodar o comando idf.py build.
Fernando Passold, em 29/08/2026