Hello Fellow Yuneec Pilot!
Join our free Yuneec community and remove this annoying banner!
Sign up

Advice for using/hacking ST16 for Fathom ROV

The sticks have (cheap) potentiometers. The wires to the potentiometers have two plugs. I think one is enough and soldered the wires dircetly to the potentiometers. I have often heard that this is a solution for many of the stick problems. We know, connectors are source of failures when times go by.

You don't need an SD card. When the ST16 is booted up connect it to the PC via USB data cable. You have access to a part of the file system to upload/download files.
In Windows it appears as MTP device.

br HE
 
Well I am likely going to have to open the ST16 up anyways. I need to do some serious exploration. I am hoping I didn't just end up with a shell to case mod... I came across two major problems.

1) The Fathom app I need to side load into this, turns out none of the versions I can find are comparable. I can't find any references as to what might be comparable either.

2) Plan B, stuffing the OpenRV controller board into it, won't work. The main controller board is too big.

Both of these issues are basically game stoppers for utilizing the ST16 as a controller. Or at least using it anytime soon.

I need a LOT more information on the Fathom One and how it works, what components and protocols its uses, etc. Unfortunately, this information isn't anywhere out there. Fortunately, I have one in my hands I can take apart and dissect. Some of this is out of my comfort and knowledge zone.

Glad I posted this in the off topic section! Hopefully you guys are intrigued enough to explore with me and give me some (well probably a lot lol) guidance. I am defiantly going to need it! Sadly this is such a niche area of the drone world, there are no "active" ROV forums where I can get solid help.
 
1) The Fathom app I need to side load into this, turns out none of the versions I can find are comparable. I can't find any references as to what might be comparable either.
Are you saying the Fathom app is “incompatible” with the Android version installed on the ST16? Does it require Google Play services to be running? If that is the case, it is likely the problem for the incompatibility.

You may want to talk with @SilentR9 about installing a generic v4.4.4 Android on the ST16 to help accomplish your goals.
 
Yes, it is saying it is incompatible but not sure what exactly it is incomparable with... First, I have all my Android devices listed, event he ones without full Google Play services, in the Play store. I can drop down and select them. I tried to side load directly to the ST16 (settings changed to allow this) and that won't work either.

I think there are only two versions of the Android app available. I found a v1.20 and a v1.21. I won't go down the IOS rabbit hole here, but I tried that route first since I have multiple iPhones and iPads available.

I had the same thought on trying to upgrade the android version on the ST16, but I think the actual limitation might be the Android version. Looking through the build dates for the different versions, and the Fathom project dates, combined with the version the seller was likely using lends some clues. The seller mentioned using a Galaxy Note 9. This would have been running Oreo 8.1. The Fathom project started back in 2015-16. With that in mind, going back to 7.0 should be safe, but going back further might be iffy.

For the first problem, I am not convinced I actually need an app... I still suspect the app, is just a remote AP link in a fancy shell. I powered the Fathom on, it beeped and bleeped, lights turned on, then about 5 min later it appeared to turn off. Not sure what address I should look for, but I did not see anything turn up on the wireless. Although I don't think an AP would be visible on a standard wireless sniff.

Supposedly, I can connect a computer to the ROV directly, according to the seller. Opening up the buoy, shows this is very likely.

I opened up the buoy. The tether is terminated with a network cable end and plugged into some sort of router. There are 8 wires connected from the tether plug to the router, so I assume all those wires go through the tether also. I have not actually measured the length of the tether, but I think it is 100m. Since all 4 pairs seem to go through and there is no HomePlug type amplifier, this sounds reasonable.

As for tether length, I really don't think I need longer than the 100m anyways. That length might already be deeper than this can safely go. And for now, I really only car about the 10-150' range anyways.

The router has an additional open network port on it. No further USB connections. A reset button. There are three labels on it. PCBA-Hornet AP plus a serial number on one. Some random numbers on another, and a MAC address.

Going to try and figure out exactly what this router is first. If that doesn't give me a clue, I will need a strategy for proceeding.

Plan B, upgrading the internal controller to an OpenROV one, is still a possibility. But it is a more in the distant future one. On a hunch I searched for OpenROV GitHub, and found it. The files are available, and I could potentially make a smaller board to fit into this shell. But not a quick solution. I haven't opened the ROV up yet, avoiding that for now if possible. But I really want to see what is inside and try to reverse engineer it back to what platform they used. Might be that I already have everything needed inside.

Plan C is the quickest choice, getting a new tablet. I want to see this (the ROV) work soon before I spend gobs of time upgrading and modifying it or the ST16. I am not concerned with the long term project of getting the ST16 to work, but I want to see the Fathom work and be able to use it in the meantime.

I am either heading out to pick up a new tablet shortly, or I will try to access this Fathom like I would for the OpenROV platform. Since at least for that I have some detailed directions...
 
Reboot. We now know FOR SURE that the buoy is a router/access point. Verified and proven. I have an address in the app, and also the one on the label for the router. In theory, I have enough information to bypass the app and connect directly.

I grabbed a new (and cheap) 7" tablet from Walmart (so pretty easy to return). It has Android 10 Go Edition in it. I got the Fathom app downloaded and seems to be working so far. Not fun/easy to explore it on this tablet. For sure there is some "filler and fluff" on the app. The main page options are Dive, Observe, Dive Log, and Options.

Dive is obviously full control and connection. Observe is probably just another connection to watch the camera. Interesting. Dive Log is probably mostly fluff. It accesses the videos on the drone "network", so you can process and move them around. The only one that concerns me is Options. Inside that are where some/all the maintenance and configuration options are. To function, these all need a connection to the drone.

I don't see a way to configure the controls in the app. Hopefully there is a way. If not, then the ST16 would likely be pointless anyways. I have done everything but actually power the ROV back up and connect with the app. I am going to do that in a few minutes here.

It has been a super crazy stressful day, trying to deal with this very interesting and fun problem while dealing with buying a house, being a week from close, and the seller pulls out... NOT interesting or fun... BUT at least I am making progress and have the app installed on a tablet ready to go! And the ROV I wanted for years sitting on my table! Things always have a cost...
 
dealing with buying a house, being a week from close, and the seller pulls out... NOT interesting or fun
Had that happen years ago… the seller found out that wasn’t possible that late in the process.
 
I have tried to understand what you want to do and how it should work. It ends in confusion...
One reason is my limited capabilities to understand english. The other reason is a lack of information. If I look for Fathom One, I could find only marketing babble. All information to OpenROV are more or less HW related. Maybe I did not grab deep enough but I could not find how it is controlled.

Now for understanding:
Do you want to control a OpenROV device with ST16 or the Fathom One submarine?
If you want to control OpenROV what makes you thinking the Fathom One app is able to control it?
I understand the connection to the sub is simply ethernet with a wireless router.

Do you have some links with more info about the kind and protocol to control the submarine device?

The background of my questions is my thinking about a project to connect a SR24 transceiver to a LINUX-based companion computer like Raspberry Pi in order to control other models like cars, tanks and so on with ST10 or ST16. An interesting application could increase my motivation to do something like this ;-).

br HE
 
  • Like
Reactions: DoomMeister
The background of my questions is my thinking about a project to connect a SR24 transceiver to a LINUX-based companion computer like Raspberry Pi in order to control other models like cars, tanks and so on with ST10 or ST16. An interesting application could increase my motivation to do something like this ;-).

br HE

This type of stuff is also why I'm interested in this thread. Except rather than using a linux computer i'm using ESP32 microcontrollers. I feel I have a good handle on communicating to the SR24 and have successfully converted it into an SBUS signal to feed it into a different brand of flight controller. I have also been able to use the SR24 to control the CGO3+ pan and tilt functions. The next thing I'm going to try is converting the SR24 signal to Servo PWM signals to control an RC car. I also want to play with transmitting some telemetry data back to the controller. Another project that I have had on my list of stuff to try is a CGO3 based cable camera.

Unfortunately I just haven't had any luck in "hacking" the ST16 side of equation. The ST16 is fine if you want to control something with a CGO3 camera on it, but if want to use cheaper camera's you are out of luck. The ST10 can use some other cameras but it isn't as cool at the ST16 in my opinion.

I saw some pictures of the module selection screen of the ST24 that seemed like it was intended to be able control more types of vehicles (planes, helicopters, etc) and it has more camera options including the MK58 module which is a relative cheap video option i think. It would be nice to figure out a way of putting the ST24 firmware on the ST16. It seems like the ST24 might be a little more hackable to me. I find an ST24 cheap enough I might buy it, but I can't see spending a ton on it.
 
  • Love
Reactions: h-elsner
Remotely commanded camera, mounted on a Steady grip, is not intersted one?

Even better, remotely DRIVEN camera that can go 100m or more underwater!!! Not sure I would call it a steady grip, but it is a steady(ish) platform LOL!

Yes it is SUPER difficult to find REAL information on the Fathom Drone ROV... I finally asked the right question on the right forum (BlueRobotics) and was given this: Fathom GitHub Depository with almost all the manufacturing files in it!!!

I have tried to understand what you want to do and how it should work. It ends in confusion...

Sorry, I am overly detailed and a fast writer. Confusing others and asking obscure questions is apparently my super power! I apologize as this will be a long response, but making a point to keep it separated and clear.

What I have:

1) I have an OpenROV developers kit with the BeagleBone Black companion computer, the ROV controller board shield, and a few other parts to make it work. But no actual submarine.

2) I just bought a complete, but broken, Fathom One ROV. It has the critical submarine/ROV hull though!

3) I got the ST16 as I need an Android tablet to control this.

What I want to do:

1) Repair the Fathom Drone and just get it operational first. (I figured out the hardware problem, it is a bad topside Access Point router.) I need an Android tablet for the controller that can run the Fathom .apk. The ST16 wouldn't side load the .apk. The cheap Walmart Tablet worked. Got it up, discovered the router was bad. Will repair or replace (new one already on the way.)

2) I want to use the nice ST16 to control the Fathom ROV. Problems:
a) The Fathom app won't load onto the locked down ST16 Android 4.4.4 platform
b) Even if the app did get loaded, it controls the Fathom with the touchscreen, I want to use the sticks and buttons on the ST16, obviously. I don't think I have access to any way to tell the Fathom app to use these sticks and buttons. This brings me to number 3.. Bt first some more details.

Detail 1) I don't need the rc stuff in the ST16 to work. All these setups use the ethernet cable for 100m or less, and a modified and amplified ethernet connection with only 2 wires for longer distances.

Detail 2) I need the internal wireless card to work with awesome 2.4g signals since the topside of that ethernet cable is connected to a wireless access point. I will use the two outer antennas for this.

Detail 3) I don't care about the Yuneec camera feed. I can leave it there for later amusement (and also the RC module, perhaps a land based ROV at some point?) But the Fathom camera feed is done through the control interface. It goes up through the ethernet/tether cable from the companion computer (raspberry pi currently) on the ROV. It connects to the pi with a simple usb connection so theoretically it is an easy camera change.

Detail 4) I don't really need or want to change the above camera, or use it for my filming camera. I have a picatinny rail mount on the bottom and can put a GoPro on it. So I can get much higher video, without slowing the information up and down the tether.

Detail 5) The remote control information, the camera feed, the telemetry all go up and down that tether. I BELIEVE that on the ROV, all of this information is on webpages on the companion computer. I know for a FACT that the videos on the drone (in the companion computer inside it) can be directly accessed with a specific webpage.

Assumption: So again I believe that the rest of the various functions can also be accessed directly on the drone with the right webpages. If this is so, I can use the current computer inside the Fathom, with a computer or probably any tablet with the right webpage address.

Assumption: Now I think the Fathom app, actually processes the controller information. I do not know if the Android app will work with something like a wireless xbox style controller. I have not found anyplace in the app to configure the controller inputs.

FACT: OpenROV though, has this ability to use and configure other controllers.

Assumption: ArduSub probably has this, and much more.

Back to wants:

3) I want to upgrade the operating system on the ROV to allow for more control flexibility. If it is running either OpenROV or possibly ArduSub, I can now use the ST16 since (at least for OpenROV, not 100% sure on ArduSub) since I now just have to connect to the main webpage address on the ROV.

This main webpage address apparently contains the links to the other pages so that I can make adjustments, download videos, etc.
 
Last edited:
  • Like
Reactions: h-elsner
Fascination project. Thanks for clarification. Let me summarize what I understood + my thoughts:
- the BeagleBone companion computer is in the sub and connected via Etherling to a WiFi router in the buoy.
- per 2.4GHz WiFi connection it is connected to an Android (or iOS) device with is equipped with an app as front-end. With a router that is able to handle 5GHz WiFi band we could use the (much better) 5GHz Wifi mushroom or patch antenna on the ST16. The 2.4GHz WiFi Module is not able to supply 2 antennas (no MIMO, no antenna diversity). You can only use one antenna for 2.4GHz connection.
- GL.inet router are useful for self-made project, have OpenWRT installed and maker-friendly.
- I do not believe that the existing Fathom app is able use the switches, buttons and sticks of the ST16. I doubt that the user interface are webpages.
- Remains the question: What protocol(s) uses the Ethernet connection? What are the interactions between the app over Ethernet link to control board in the sub.

br HE
 
@Biggs Darklighter
Do you have a Fathom Source? i can make it work with all the pots, sticks and switches. i have already made a cheap android controlled mini drone to work with the st10 and st16.

I would love it if you could tell me how to do that or point me in the right direction. Also, since you seem to know quite a bit about Android and programming, do you think it would be possible to modify the ST24 firmware/Android image to run on the ST16?
 
Here is a short and very crappy video me controlling a modified toy car with the ST16. All the electronics in car have been replaced with an SR24 receiver, ESP32 microcontroller, and a couple of small dual direction speed controllers. I was going to put an MK58 video transmitter and a small camera in there and control it from an ST10, but I found that I don't have the right connectors on hand right now so that will have to wait.

 
May I ask for a picture from inside the car?
Yeah. It is pretty messy, just wadded up and zipped tied together. I also included another picture with electronics spread out so they are easier to see. I used a larger ESP32 module because it had pin headers installed so it was easier to plug everything in quickly, If I redo it with the MK58 I might tidy it up a bit and use a smaller ESP32 D1 Mini board with just the pins I need soldered on.

1610310546678.png


1610310640460.png
 
  • Like
Reactions: h-elsner
Great! Thank you!

Would you like to share some more info about the communication protocol between the SR24 and ESP, binding sequence, etc? I'm looking for something like this one to organize camera gimbal control.

A sketch is welcome too... ;)
 
Great! Thank you!

Would you like to share some more info about the communication protocol between the SR24 and ESP, binding sequence, etc? I'm looking for something like this one to organize camera gimbal control.

A sketch is welcome too... ;)


Attached is the sketch for that toy car. The comments at the beginning has info about the libraries that I used and where I got them. The decoding of the data from the SR24 is done by the ST24 library from the px4 firmware. There are functions for controlling the camera gimbal in there but they are commented out I didn't use them on this toy. I have used them in a different test and they did work. The communication to and from the gimbal uses "mavlink" like commands (i'm not sure if they are completely standard). To control the gimbal you have to send an initialization msg at power up. After that my code just updates the specific values for pan and tilt controls in the default message, recalculates the checksum and sends it out to the camera.

The information I know about the cameral gimbal control is in this thread:
 

Attachments

  • YuneecRX2ServoR0_ESP32.ino.txt
    8.4 KB · Views: 23
  • Like
Reactions: Vaklin

New Posts

Members online

Forum statistics

Threads
20,992
Messages
242,030
Members
27,473
Latest member
corteizshop