Control of the various functions is managed using and Arduino Mega and Nano.   Control of each function is split between the Mega and Nano.