PortA i2c unit not recognized in Core2 when stacked onto Servo2?

  • Hi,

    I am using ExtIO2 unit with Servo2 stacked beneath Core2, but the Extio2 module is not recognized ("extio Connect Error").
    I am using the newest Extio2 library on with extio.begin(&Wire, 32, 33, 0x45) and beginning M5.begin(true,false,true,false,kMBusModeInput). This pins shouldn't be a conflict, as Servo2 is running by default on the internal bus wire1.begin(21,22).

    The Extio2 is recognized instantly at portA when used without the Servo2.

    Anyone has an idea what could cause this?

  • Hello @swiminthesky

    I assume you are using an external power supply for the Servo2 module as suggested here. I also assume that the Servo2 module on its own works fine, correct?

    Are there any errors in the debug output? Maybe I2C related.


  • Thanks Felix @felmue,

    external power is used. Servo2 example (on Wire1.begin(21, 22);) also works like a charm.

    I used both these M5 i2c scanners I2CScanInternalAndAllPorts and I2C_Tester, but no I2C devices are found.

    But after removing Servo2 the device is instantly found correctly!

    (Also: I used PaHub on PortA inbetween and Extio2 is also instantly found when Servo2 is not stacked)

    (ext power is not used for the picture, the Bottom2 also didn't make a difference afaik)

  • Hello @swiminthesky

    hmm, not sure what is going on.

    Maybe the Servo2 library still uses Wire somewhere internally?

    Could it be a mechanical problem?

    BTW: my I2CScanInternalAndAllPorts is for M5Paper - I have not tested it on other M5Stack devices.


  • Yes, it seems to be a hardware problem! I switched the Servo2 module and everything works perfectly and the i2c connections over port A runs without any interruptions. Thanks Felix @felmue and sorry for bothering!

  • Hello @swiminthesky

    no worries. Thank you for reporting back. I am glad it now works for you.