Thermal unit MLX90640 with Core2



  • Hello,

    I have obtained a Core2 with a thermal unit (MLX90640). The example code for the thermal unit does not work on the Core2. Also, in UiFlow there is no option to add the thermal unit with the "+" icon. However if I start UiFlow and select the classic Core, it is possible to add the thermal unit.

    Is the themal unit not compatible with the Core2?



  • Hello @Hexyl

    most modules, units and their associated examples have been developed before M5Core2 was available and therefore often do not just work out of the box. It is a pity that the M5Stack engineers do not (can not) spare more time to adapt / fix the existing examples from M5Stack to M5Core2.

    That said, the issue you are facing is that in M5Stack port A uses GPIO21 / GPIO22 (same as the internal I2C bus). In M5Core2 that has changed and only the internal I2C bus uses GPIO21 and GPIO22, however the external I2C bus on port A uses GPIO32 and GPIO33.

    In the Thermal unit example try replacing these lines:

      M5.begin();
      M5.Power.begin();
      Wire.begin();
    

    with

      M5.begin(true, false, true, true);
    

    the last true enables the external I2C bus on GPIO32 and GPIO33.

    Hope this helps.

    Re UIFlow: I have no idea as to if and when the thermal camera will be supported. That is another question for the M5Stack engineers.

    Thanks
    Felix



  • I just finished to adopt the example at https://github.com/m5stack/M5Stack/blob/master/examples/Unit/THERMAL_MLX90640/THERMAL_MLX90640.ino
    in Arduino IDE to Core2 and it works fine. If you are interested I can share the code.



  • @broder Hello !
    Yes, good stuff !! i'm interested by your Core2 version of the Thermal_LMX90640.ino !!
    Can you give me a link where I can download it please?

    Thx !