Linux is not a real-time operating system so using it for machine control is probably ill-advised. It has other problems, notably crashing the file system if power is interrupted. Do some homework on this! Take your grunt level Pi and run a few things. Let it work for a while. Now, watch the SD LED when you issue a shutdown command (no matter how you do it). All that disk activity that takes a few seconds to complete is buffered data that is probably important. A UPS system can help... Whether the EXT3 type filesystem is an improvement is above my pay grade. I have scrambled enough Pi's to realize this is a real problem.
So, you probably need to partition your project into some kind of microcontroller doing the real-time machine work and something else (maybe Raspberry Pi if you can get around the file system issues) doing the high level communication.
Python may be practical for implementing the GUI with the available libraries
https://blog.resellerclub.com/the-6-best-python-gui-frameworks-for-developers/The new Raspberry Pi 4 is a decent desktop machine. You could do all of the development work on a target machine. That's the real advantage of the Pi. Especially the Pi 4... If you partition into a separate control processor, there is every chance that you can develop that code on the Pi 4 as well. Especially if the controller is ARM based. Depending on IO requirement, maybe the Teensy 4.0 is a candidate for a controller. FreeRTOS is probably the real-time system of choice if one becomes necessary.