USB joystick over Ethernet into SPI then Arduino

Hello. I want to make an ROV controlled with USB joystick with limited budget. And I think I got all the parts. Firstly first I want to show you my configuration. In simple word USB joystick specifically Xbox 360 controller will send data to Arduino and Arduino will then read the data from SPI pin and use the data for Arduino to send signal to the digital PWM pin which turn the motor using H bridge motor controller. And yes I want a variable speed for the motor controlled with the joystick. And the reason why I'm using ethernet cable because I'm going to control the ROV from like 50m. If anyone could help me where to start with this it would be very helpful

My set up:
USB Xbox 360 Controller
USB Over Ethernet
Ethernet to TTL (SPI) ENC28J60
Arduino Mega 2560
4* H bridge BTS760B

Signal conversion be like USB > TTL (duplex tx rx) > SPI

you would need to reverse engineer the USB over Ethernet adapter firmware and implement it in Arduino

Why not use a wireless connection with NRF24L01?

Seems like it's gonna be a lot of work. Do you have any other idea to send data from Xbox 360 controller with Ethernet cable?

The thing is It's hard to do it wirelessly underwater. I want to control the ROV from the surface and the Arduino will have to go down like 50m at least for now

Maybe if you use LAN cable but as RS-485. I have no experience with this, and maybe those more knowledgeable will give their opinion.

maybe other Arduino to read the joystick and send the commands over RS485 to ROV

A good reason to use Ethernet is because to drive the ROV 50m down, it will have to stream live video to the top side computer. Might as well use Ethernet for control. telemetry, and video,

There are open source underwater ROV projects so it might be useful to look at other successful designs. Most have a Raspberry Pi in the ROV to handle camera and video streaming. The link is to one project that has a nice system connection diagram.

Connection Diagrams ยท GitBook

I have never built an underwater ROV so you may consider this more useless advice.

I could do that. Or could I do it with my laptop instead?

What do you mean? Like RS-485 over Ethernet cable? Turn the USB signal into RS-485 and send it over Ethernet cable?

It's too complex for me to start programming everything at once. What I had in mind is use another seperate cable for the video. And pixhawk, Raspberry Pi, and the other stuff are over my budget. I have 80usd left to spend for the ROV. After I get this thing work I will get more money to build the the other stuff like the body

Do you mean Ethernet as in the LAN protocol or Ethernet cable? If the latter it would be much easier.

apparently as a cable for the USB over Ethernet adapter. if the adapter does Ethernet then it is Ethernet. if not then not.

another option is to use the second USB to Ethernet adapter in ROV and put an USB-host shield on Arduino. the result should be the same as if the USB joystick were connected directly to the USB-host shield

Just as Ethernet and not as a LAN. So the Ethernet cable will transmit TTL signal like Rx tx

That might work. I'll get a USB shield. Thank you

Yes, that's exactly what I meant. Maybe @Juraj explained it better.