Interfacing an Arduino with a Control Board

I have an RL500 Robotic Mower. Right now the Arduino is soldered to buttons in the original control handheld to esentially press the buttons and make the actions occur. this works alright, but has issues. What I would like to know is how feasible it would be to remove the middle man(so to speak), and interface the arduino directly with the control board via the interface board(uses a jack similar to a telephone), or to the main control board itself.

I've no idea how a RL500 Robotic Mower works, but if the handheld remote is IR or RF (InfraRed or Radio Frequency) it should be possible to replace it with an IR emitter or RF transmitter.

Wiring to the interface/control board will require reverse engineering the thing, which could take anything between weeks to months and would probably require a logic analyzer and/or an oscilloscope (and an Arduino can be used as a basic analyzer/'scope).

The RL500 has a Handheld connected to it via wire. Generally the handheld is used to select the parameters and hit go, then the mower uses an electric fence to move around. these have been replaced(so to speak) with a GPS system and LIDAR.

I was afraid of the reverse engineering part.

hopefully I can figure this out, as we aren't allowed to put new funding in it, and its just a project for fun now.

This thread implies the connection is a simple serial protocol but makes no mention of the packet data and it's decoding. If you can grab data and it's context then maybe people here could help in decoding it or you could grab the commands you need and just transmit them as needed without having to decode them first.

wow, I didn't manage to turn that up on my initial searches. This is actually pretty helpful. I will take a look at the robot the next time we are in the lab. Any suggestions on how to read the raw data from the controller?

Quick Edit here: Can the arduino communicate over its USB port as well as the Serial pins(0 and 1)? Because the way the setup will work is the Computer will be taking data from the lidar and GPS systems, and driving the arduino to send its data. unless there is another way to send serial data from the arduino to the control board.

Fullmetal99012:
Any suggestions on how to read the raw data from the controller?

Quick Edit here: Can the arduino communicate over its USB port as well as the Serial pins(0 and 1)?

In short, no, the Aruino hardware UART (that's the RS232 serial on pins 0 and 1) is connected to the USB. You'll need to use the SoftwareSerial library to listen in on your Robot's communication using some other set of pins, and then write sketch code to copy the SoftwareSerial data to the regular serial interface so it will show up on your PC.

ok, I assume the same for the reverse of that(Data from serial over USB to the software serial library to the control system)

Yep.

I take it the Arduino is not powerful enough to handle the LIDAR and GPS on it's own? This sounds like it's really more of a PC-controlled robot with Arduino acting as a relay, rather than an Arduino-controlled robot.

If the Arduino doesn't have the muscle, I would be temped to stick a Raspberry Pi on the robot to eliminate the PC. But that's just me. :slight_smile: