Showing results for 
Search instead for 
Did you mean: 

Do I need cubeMX for TouchGFX?


Hi all,

I bought a STM32F746G-DISCO board. I haven't received it yet. I'm looking at TouchGFX and it looks like it needs cubeMX although this page seems to suggest that it works with cubeMX and cubeIDE:

  • Part of STM32 ecosystem
    • TouchGFX Engine compiled library running on any STM32 microcontroller
    • Smooth interoperability with STM32Cube MCU Packages, STM32CubeMX and STM32CubeIDE
    • TouchGFX project examples using STM32CubeMX, STM32CubeIDE, and STM32Cube MCU Packages

It looks like cubeMx is not required but the whole thing is just confusing. Could someone shed light into this pls.? If it works with both is there a place to see the benefits of one vs the other? Thanks.

Senior III

All of these are products designed for different tasks, but they work together.

CubeMX ​is a standalone MCU configuration tool. The same functionality is also built in to the CubeIDE (with very minor differences)

So, sometimes it is easier to use just CubeMX, sometimes - start it from within CubeIDE.

Regarding your main question:​ Yes, you will definitely need CubeIDE. This is THE tool for modification and debug of your application. TouchGFX can build one of the examples for Discovery board or just start edit empty GUI generated by the CubeMX or CubeIDE project. And while it is possible to flash firmware directly from TouchGFX - there is no possibility of debug your code.

When you develop your own board you can create a MCU configuration using CubeIDE or CubeMX, add a TouchGFX option​ and later edit a GUI for this project with TouchGFX. But when you will add more non-GUI functionality it would be quite difficult to run your project in TouchGFX simulator (will require a lot of `#ifdef SIMULATOR` in all code files). And after you have some GUI made then go back to CubeIDE and compile, flash and debug your project from there.

Enjoy it 🙂