Arduino using GROVE B as I2C

  • Can anyone give me help using Grove B (BLACK) as I2c to read a compass module. I cannot use Port A (RED) as there is no space in my waterproof case.

  • Hello @alpaka

    unfortunately GPIO36 (one of the GPIOs used for Port B) is an input only GPIO. See here - section M5GO Base Pins and here - GPI: GPIO34-39 can only be set as input mode and do not have software-enabled pullup or pulldown functions.

    I2C however requires one GPIO as output (SCL) and one GPIO which can be an out- or input (SDA). Therefore Port B cannot be used for I2C.


  • @felmue

    Hi Felix
    thanks for your fast answer. Meanwhile I have also been looking at the GPIOs used on M5Stack and found out that GPIO36 can only be used as an input. I got my soldering gun and removed the black GROVE connector and wired a new one in White. directly to the PoGo Pins at the bottom of the M5GO. Works perfect. Would have fine not modify the module but you cannot have everything.

  • @felmue

    BTW i forgot to mention that I also removed those nasty magnets as they disturb the used magnetometer. The metal screws where also replaced with plastic made.