Joystick Control for Multi-Motor Boat With NMEA Integration

I am a graduating mechanical engineer working on my senior project. My team and I are attempting to develop a system similar to the Yamaha HelmMaster or the SeaStar Optimus 360 using a joystick and independent motor directional control. The ability to self calibrate is the primary difference between our idea and currently available systems. The boat we are going to install the first working model on is a Contender 36' Open Fish with x3 Yamaha F250 4-Stroke motors. The electronics currently on the boat are all by Furuno and they are run through a NMEA 2000 wire. Our controller would need to be able to send and receive information from the NavPilot (autopilot), NavNet3D (GPS/Chartplotter), digital throttles, rudder position/feedback sensors, and a helm we plan on digitalizing (or possibly using an analog potentiometer). I was thinking of starting my controller with the Arduino Mega 2560 R3, then stacking and building shields for the necessary components. I am fairly new to control system design, so any advice/hints/ideas would be greatly appreciated. I have searched high and low, and have not been able to find any shields for a 3-axis joystick (X-Y, & twist knob about Z-axis), or a shield for the NMEA 2000 wire. On my boat, it seems the NMEA 2000 is run into an ethernet hub, so another question is if it may be easier to just use an ethernet shield and pull the signals out of the existing ethernet shield. If any additional info would be helpful, please let me know and I will provide it. Just to help give a slightly better idea of what the system needs to be capable of, I attached an image of logic diagram so far, which provides for joystick inputs of Dead Center Forward/Back/Port/Starboard, and also for a twisting input from the joystick.

Thanks, Team Marinonix

This is the up-to-date logic diagram

Except for the Ethernet shield, I'd skip using/making "shields" for initial testing phase of the project. That being said, which specific part of your project do you need help with?

Right now, we are primarily stuck on the controller component selection

This may be helpful, here’s the Shipboard Network/Interface

I'm not sure which part of that system you anticipate being implemented on an Arduino, but it seems to me that the most demanding part of a solution like that is likely to be the display system, which you haven't mentioned but I assume would be required. Arduinos have only very limited capability to generate a graphical display, and if you want anything elegant or complex I suggest you should be looking at a computer rather than a microcontroller. An RPi is the logical step up from an Arduino and gives you a full operating system and graphical user interface in a very compact package.