Also see our previous post which uses dynamically allocated memory using xTaskCreate()
: How to add FreeRTOS task (thread) to any PlatformIO project
#include <freertos/FreeRTOS.h> #include <freertos/task.h> constexpr size_t MY_TASK_STACK_SIZE = 1024; static StaticTask_t myTaskBuffer; static StackType_t myTaskStack[ MY_TASK_STACK_SIZE ]; void MyTask(void * parameter) { while(true) { // TODO Your code goes here } } void setup() { xTaskCreateStatic( MyTask, // Task function "MyTask", // Name MY_TASK_STACK_SIZE, // Stack size nullptr, // Parameter tskIDLE_PRIORITY, myTaskStack, &myTaskBuffer); } void loop() { }