Yep. Also the main loop should cycle as fast as possible, and only execute the control loop as needed. Or really use a timer interrupt.
And this really, really needs a proper RTOS and "software written by someone more professional than someone who tinkers with Arduinos", since malfunctioning software can destroy the engine and/or burn your house down.
For the same reason, it requires a proper PCB, not some yanky box of protoboard and wires.
Similar with the PCB's, many of the better dev boards are pretty decent, the problem comes with poor connections designed for easy access, etc. This can be resolved without spinning a new board though, or perhaps designing a simple extender.