[[https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/]] TaskHandle_t Task1; // Variable partagée par les deux process int i = 0; void setup() { Serial.begin(115200); // By default, Arduino sketches run on core 1 // Create a task that will be executed in the Task1code() function // with priority 1 and executed on core 0 xTaskCreatePinnedToCore( Task1code, /* Task function. */ "Task1", /* name of task. */ 10000, /* Stack size of task */ NULL, /* parameter of the task */ 1, /* priority of the task */ &Task1, /* Task handle to keep track of created task */ 0); /* pin task to core 0 */ } void Task1code( void * pvParameters ){ for(;;){ Serial.print("Core "); Serial.print(xPortGetCoreID()); Serial.print(":"); Serial.println(i++); delay(1000); } } void loop() { Serial.print("Core "); Serial.print(xPortGetCoreID()); Serial.print(":"); Serial.println(i++); delay(300); }