Skip to content

ESP3.2 conflict #4

Closed
Closed

Description

@ghotihook

Describe the bug

after upgrading BSP for ESP32 from 3.1.3 to 3.2 start getting a driver conflict

E (982) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

To reproduce

upgrade to BSP 3.2

Expected behavior

Same result as 3.1.3

Screenshots

E (982) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

Environment

  • OS: Mac
  • IDE &IDE Version: Arduno
  • Repository Version: 3.2

Additional context

No response

Issue checklist

  • I searched for previous reports in the issue tracker
  • My report contains all necessary details

Activity

  1. Onzeisnottwice commented on May 2, 2026

    @Onzeisnottwice

    Same problem, €48 for this device. I have the feeling that it is related to the usage of outdated driver?

  2. devilSatou commented on Oct 15, 2026

    @devilSatou

    The cause is what was suspected above: the BMI270 code in this library uses the outdated (legacy) ESP-IDF I2C driver.

    src/BMI270.cpp calls i2c_master_write_to_device() / i2c_master_write_read_device() directly, and both belong to the legacy driver (driver/i2c.h). Since Arduino core 3.2.0, Wire is built on the new i2c_master driver. When both drivers are linked into the same firmware, the legacy driver's startup check (check_i2c_driver_conflict()) aborts before setup() runs:

    E (1057) i2c: CONFLICT! driver_ng is not allowed to be used with this old driver
    abort() was called at PC 0x4204ef83 on core 0
    

    This is also why 3.1.3 worked: there, Wire still used the legacy driver.

    firmware.map confirms that this library is what pulls the legacy driver in:

    libdriver.a(i2c.c.obj)
        ← M5Module-GNSS/BMI270.cpp.o  (i2c_master_write_to_device)
    

    #8 ports the BMI270 I2C access to Wire, so the legacy driver is no longer linked. Existing sketches that call bmi270.init(I2C_NUM_0, addr) keep compiling, and new code can use bmi270.init(Wire, addr).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions