Programming Arduino Over Fathom-S: Arduino Not Resetting Automatically

Hi everyone!
I’m in a MATE ROV team and we’re using the Fathom-S boards to communicate from our computer (topside) with our Arduino Uno (ROV-side) over the tether. We’re having a bit of trouble uploading code to the Arduino.

We used the setup shown here. The computer is connected to the USB port on the topside board; the Arduino is connected to the UART on the ROV-side board. Both Fathom-S boards are powered by the same 14V power supply through their respective screw terminals.

I’m able to receive serial data from the Arduino over the tether (in the Arduino Serial Monitor I can see the Arduino sending “Hello” over the tether to the computer) but when I try to upload new code from the Arduino IDE on my computer to the Uno, the IDE says “Uploading…” but never finishes uploading the program.

I’ve made sure that the RTS RESET JMPR (connecting the FT230XS pin 2 RTS and ROV-ON-CTRL signal in the EAGLE schematic) and the TETHER PWR-SW jumper (connecting ROV-ON and ROV-ON-SELECT in the schematic) are both connected. I tested the RTS RESET JMPR pins for continuity with a multimeter and the pins are connected. The Arduino is only powered through the UART header 5V/GND. I’ve tried this with multiple Fathom-S board sets and have run into the same issue.

I’ve been able to get it to upload over the tether by pressing the reset button on the Arduino after uploading (within seconds the IDE shows “Done uploading”) but I was hoping to find a way to do it without resorting to this. Has anyone else also seen this issue? Thanks in advance :slight_smile:

Hi @M3579,

I’m sorry you’re having trouble with this but I’ll be happy to help! It sounds like you’re doing everything right and that you’ve checked everything carefully. I think it would be a good idea to try to verify the reset functionality separately from programming to make sure that is working well. You can do that by removing the RTS RESET JMPR from the topside board and then manually connect the ROV-ON-CTRL wire in the tether to ground and 5v to make sure that the power switch is working. When connected to 5v, the ROV-side board and Arduino should power on and when connected to ground, they should power off.

The reset functionality for programming uses the same hardware and this test will validate whether that is working or not.

Please give that a shot and let me know how it goes!

-Rusty

Hi everyone,
I was able to temporarily get around the issue by connecting the Fathom tether line 7 (ROV-ON) directly to the Arduino’s reset pin, so the Arduino resets whenever the FT230XS’s RTS pin is pulled low, which I believe happens when uploading code.