Long range wired control of Arduino

I need to control an Arduino (PWM output and analog reading of sensors) via a long cable (500 ft) for an underwater application. I have built projects that use the Firmata library to control via Visual Basic, but the USB length restrictions make that not feasible. How can I control an arduino over a wire this long? The cable is cat5e, but any communication protocol involving fewer than 4 twisted pairs is fine. Any thoughts or suggestions would be greatly appreciated!

What sort of control do you need? If you can achieve it with a few simple switches, I'd have thought you'd be able to work over miles. If you need data comms, then 500 feet should be achievable using RS422.

I do need data communication for sensors and control of PWM output. How would I go about using RS422 (I've never done anything other than USB)? What additional hardware would be required and how would it interface with the Arduino?

I've got one word for you RS-485, actually that's an acronym and a number, whatever, 485 is similar to 422 but a lot more common I think.

In either case you just need a transceiver chip at each end and s couple of terminating resistors. Full-duplex (2 ways at the same time) comms will need 4 wires, half-duplex need 2 wires.


Rob