Thank you for the schematic. I do know how to program a GD32 (using Arduino or native STM32 C code). So, to reprogram the GD32 using an STM32 programmer, I can use the GD_SWIO and GD_SWCLK. But it seems that the UNIHIKER can also reprogram the GD32 from the Linux side by uploading the /FirmataExpress.UNIHIKER.3.7.bin firmware. Can you describe how that works?Furthermore, it would be helpful to publish the source code of the program that is currently running on the GD32. Then, I could use that as a starting point, and need not to program the IMU, Gravity and keys by myself again.
The I2C M5Stack joystick is this model: https://shop.m5stack.com/products/joystick-unit?variant=16804781981786