It is a very common practice the source files go in pairs: a .h file with the interface, and a .c file with the implementation.This is acknowledged in CubeMX - which has an option to do exactly that: But, with CubeIDE (in fact, Eclipse), it requires ...