CONFLICT! driver_ng is not allowed to be used with the legacy driver

I'm trying to upload a basic code to ESP32 C3 Super mini,
Module selected is ESP32-C3 Dev module as i did in the past.
I'm getting the following crash error in the serial monitor :
MSTATUS : 0x00001801 MTVEC : E (175) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

Couldn't find any solution in google for this...
IDE 2.3.2, windows 11

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Serial.println("Booted");
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Loop");
  delay(1000);
}

Hi, @dovevgo
Welcome to the forum.

Please post your code?
What OS are you using.
What IDE are you using?

Thanks.. Tom... :smiley: :+1: :coffee: :australia:

Updated my original post - Thanks!

HI, @dovevgo
I just compiled your code in post #1, with ESP32C3 Dev Module.
No errors.

2.3,2, Win 10.

Tom... :smiley: :+1: :coffee: :australia:

Was the upload successful? If the upload succeeds, you will see a "Done uploading." notification at the bottom right corner of the IDE window:

screenshot of success notification

I ask because there are some conditions under which this error is expected to occur. However, the sketch code you shared should not produce those conditions.

Please try uploading the sketch again to make sure that is truly the program running on your board.

The Compilation and Upload completed successfully.
The issue is probably due to FastLed Driver.
I'm closing this thread.
Thank you/

You are welcome. I'm glad it is working now.

Regards,
Per

Hi, @dovevgo

Where in your code??????

Tom... :smiley: :+1: :coffee: :australia:

I am seeing a similar issue (possibly the same issue) while running some test code with IDE v 2.3.2, esp32 v 3.0.0, FastLED v 3.7.1 running on a windows 11 PC with a UM Tiny S3 microcontroller. The code compiles and uploads successfully, but I get this runtime error:

E (88) rmt(legacy): CONFLICT! driver_ng is not allowed to be used with the legacy driver

abort() was called at PC 0x420075a7 on core 0

Here is the code:

#include <FastLED.h>

#include <stdio.h>
#include <stdlib.h>
#include "Arduino.h"
#include "math.h"
#include <FreeRTOS.h>
#include <SPI.h>         

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.com  
*********/

TaskHandle_t Task1;
TaskHandle_t Task2;

// LED pins
const int led1 = 2;
const int led2 = 4;

void setup() {
  Serial.begin(115200); 
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);

  //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 */                  
  delay(500); 

  //create a task that will be executed in the Task2code() function, with priority 1 and executed on core 1
  xTaskCreatePinnedToCore(
                    Task2code,   /* Task function. */
                    "Task2",     /* name of task. */
                    10000,       /* Stack size of task */
                    NULL,        /* parameter of the task */
                    1,           /* priority of the task */
                    &Task2,      /* Task handle to keep track of created task */
                    1);          /* pin task to core 1 */
    delay(500); 
}

//Task1code: blinks an LED every 500 ms
void Task1code( void * pvParameters ){
  Serial.print("Task1 running on core ");
  Serial.println(xPortGetCoreID());

  for(;;){
    digitalWrite(led1, HIGH);
    delay(500);
    digitalWrite(led1, LOW);
    delay(500);
  } 
}

//Task2code: blinks an LED every 700 ms
void Task2code( void * pvParameters ){
  Serial.print("Task2 running on core ");
  Serial.println(xPortGetCoreID());

  for(;;){
    digitalWrite(led2, HIGH);
    delay(700);
    digitalWrite(led2, LOW);
    delay(700);
  }
}

void loop() {
  
}

When I comment out the first line of the code above that includes the FastLED library, the program runs successfully. Unfortunately I need to use the FastLED library for my current project. It sounds like you solved this problem. How did you get your code to run while including the FastLED library?

Thanks!

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.