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

Advice for using/hacking ST16 for Fathom ROV

Joined
Jan 3, 2021
Messages
51
Reaction score
4
Age
49
Location
Sarasota, Florida USA
First off, hello everyone! I found this forum looking for information on the ST16. I found 2 or 3 threads, all with disclaimer this was a bad idea. So let me post my own disclaimer!

I AM NOT USING THIS AS A FLIGHT CONTROLLER FOR YUNEEC AERIAL DRONES!!! I WILL BE USING THIS FOR AN UNDERWATER ROV.

I needed an android platform with joysticks and buttons for a Fathom One Drone ROV. This is controlled via a dedicated android app. Honestly, because of the antique Android version on these controllers, I am not sure that will even work. If not, the backup plan is to hybridize the submarine and install an OpenROV control system inside of it. This only requires a web browser to connect to the ROV's onboard computer. Eventually, this is the direction I plan on going anyways since I already have the OpenROV controller system.

For what I need to use this for, I will most likely be rooting the tablet and eliminating the Yuneec software. Maybe. I do not want it booting up immediately to the Yuneec interface. I suspect if I eliminate the Yuneec software fully, I won't be able to interface with the RF modules (in the controller) and use this as an RC transmitter. I would like to utilize it for future ground based RC ROV's, if I can keep it functional.

There are some threads on updating this, and one goes into some details on changing the startup app launched. I might be able to utilize this info to change it to the Fathom app. I am comfortable side loading apps and plan on that approach first anyways before tying to break/root it installing the PlayStore. It is still a controller, I don't need Facebook, or email or anything like that on it, LOL! Although uploading video clips directly might be worth a small consideration.

My controller is a week or so out, and I have some questions!

1) What Android version are these even? 4.1, 4.4? Looking again, I found a reference it apprers to be 4.4.4. This would be good news and rooting it might even be worthwhile. Obviously I can verify this one it is in my hands and powered up.

2) Architecture, is this a full on RC transmitter with just telemetry and video ported separately into the Android tablet portion? Or, does the Android tablet see the sticks and hardware inputs also?

3) Can I change the primary boot app with the android system left as is, or is updating/hacking required? I know work arounds here if this isn't built in, but they require rooting or possibly burning some processor overhead.

4) Do these have bluetooth? GPS (in tablet/controller)?

5) The lower set of joystick/pads, are these actually seen by the tablet? I saw some references that they don't seem to be used by the Yuneec software, still hoping the tablet sees them...

I am asking some odd questions I am sure, but obviously my application isn't normal either. I have spent more than a few hours hunting info down on Google. But I might not be asking Google all the right questions either. And a lot of what I am digging for wouldn't matter in a Yuneec application anyways.

ANY interesting information you guys think might help please too my way!

I am really hoping to make this tablet/controller work for this! It has the ideal amount of controls and inputs (especially if they all are usable). The screen is about perfect. The layout is detailed, but compact and small enough. I can utilize it either in a ground station package with a larger monitor via HDMI out, or standalone. Battery power is substantial, and also EASILY expanded if needed.
 
  • Like
Reactions: Str455n
This sounds interesting. Please keep this thread updated with any progress you make.

Most of my hacking work has been trying to get the ST16 to be to control other drones or whatever through a Yuneec receiver. I have had some success with that, but I don't really know much about modifying the ST16 itself.

I did unsuccessfully try to modify the ST16 some to enable an additional camera option. Basically there are a couple of other types of camera's that other Yuneec drones use, but are not available on the ST16. I was able to open up the the flight mode get into the flighmode APK and uncomment out the configuration files for those cameras then repackage the APK. I was able to install it, but it wouldn't run correctly. I think the problem was that there are other apps running that need share a user with the flightmode APK. My modified APK could access the other apps that were running. I'm not sure why I didn't try to re-sign the other apps also. The thread talking that is here:

2) Architecture, is this a full on RC transmitter with just telemetry and video ported separately into the Android tablet portion? Or, does the Android tablet see the sticks and hardware inputs also?

I don't know exactly how Android sees the sticks, but I believe that there is an UART app running which handles the serial communications from flightmode app to the radio (which is a zigbee module). Video is handled separately over the 5GHZ wifi. It can actually be access outside of the app by connecting to the Camera's hotspot and going to the correct URL/Port.

4) Do these have bluetooth? GPS (in tablet/controller)?

I'm not sure about bluetooth, but there is GPS.

5) The lower set of joystick/pads, are these actually seen by the tablet? I saw some references that they don't seem to be used by the Yuneec software, still hoping the tablet sees them...

I these are seen by the software. If you go to the HW monitor portion of the app, pressing those buttons adjust the centering of the joysticks. They are not transmitted as part of the data sent out over the Zigbee radio. Neither are the "take a photo" or "take a video" buttons.
 
Dylanfm, that is interesting! I will give it some more study, along with the dozen other pages I have open going through LOL!!! Keeping everything up until I can go through and read everything and figure out how useful it is to this application!

It seems like yours "should" have been a straightforward and easy problem to solve... I have seen enough similar threads to realize this isn't apparently the case. With a (very) quick look at the problem, can't you simply solve this on the copter/uav side of things? If the receiver is separate from the flight controller, this should be easy. Use the Yuneec receiver in the drone and then send the info out into a flight controller where you can adjust the parameters as needed. For simplicity sake, you could utilize most of the Yuneec flight system on the drone side of things. Obviously if your trying to stuff this all into a tiny whoop, not going to happen... I don't know how much access you have to the Yuneec flight controller parameters, but is there enough to graft the WHOLE deal into a new bird???

I'm lucky in that my use application doesn't require sorting out radio protocols, telemetry, video/ and all the I/O of the Yuneec system. I think I only need Android to see all the buttons and sticks. I don't know what control and access I have to things with the Fathom One app, yet. But it is intended to have enough flexibility to utilize either just an android tablet with touch, or (I think) use a bluetooth game controller. Obviously this would need some flexibility available on the hardware configuration side of things. I know the OpenROV platform is more than capable enough for this. I can also utilize a third platform choice with ArduSub and a Pixhawk. This platform has a lot more capability it seems than even OpenROV. It has tons of options including utilizing Mission Planner. But I suspect it will also need more processing power on the topside computer. Since I am mostly focused on exploring and just putting a camera in the water, this is overkill. Not doing grid searches...

Here is how these ROV's work. Well specifically the OpenROV platform as there might be differences with the Fathom operating system, and with the ArduSub.

The ROV/drone contains a SBC (single board computer) and a shield style control board interface. The ESCs and other sensors/controls connect to this. The camera connects to the SBC. This is called the companion computer. On OpenROV, the control and configuration software is installed here. Then there is an ethernet link between the SBC on the ROV and the Topside Computer.

It gets a little complicated here... For shorter links, I think under 100m, a standard network cable could be used. Apparently there are significant differences between a CAT5 and CAT6 though with CAT6 being preferred. But network cables don't have neutral buoyancy and probably won't survive for long being flexed and tugged on, most being single solid wire strands. The solution is twofold. Special tether cables are used. These are SUPER expensive and 200m plus on a reel can cost more than some of the ROVs do. Even 100m is kinda pricey. And also the long lengths are still an issue for clean network transmission. A device like the HomeLink is utilized to bump the power up and do the connection over a single twisted pair.

You ideally need a reel to organize and spool the cable. ESPECIALLY for longer lengths. This adds another complication, a slip ring or a way to get the signal off the reel to the topside computer. Many setups just use a simple AP router to transmit wirelessly from the reel or buoy to the topside computer.

So on the topside computer, for OpenROV at least, you're simply connecting to the remote webpage installed on the Companion Computer inside the ROV. i am hoping the APP for the Fathom One is basically a fancy web connection link and that the processing is still all done on the companion computer in the ROV. This would mean I could find the address and connect via a link on a standard computer if I wanted too. Probably use an IOS device just as easily. This also takes the responsibility for processing power away form the Topside Computer.

The android APK for the Fathom is only 32mb. Not sure the right questions to ask Google, but it seems that can't be much more than a remote connection. A bunch of remote connection apps are exactly 32mb too.

I managed to grab the Fathom One .apk for side-loading once the ST16 arrives. II don't have any other Android devices to take a look at it. So I had to get something anyways. Hoping I can make the ST16 fully functional for this!!! It is a risk, but I got it for $65 shipped. So still cheaper than another Android tablet and game controller would work out to be.

Hoping to leave as much of the Yuneec structure and software in place as possible. Just push it to the background until I figure out if it is needed. But if I have to hardware hack a game controller and interface it with the stick, should be doable. The UART app give me hope that won't be needed.
 
It seems like yours "should" have been a straightforward and easy problem to solve... I have seen enough similar threads to realize this isn't apparently the case. With a (very) quick look at the problem, can't you simply solve this on the copter/uav side of things? If the receiver is separate from the flight controller, this should be easy. Use the Yuneec receiver in the drone and then send the info out into a flight controller where you can adjust the parameters as needed. For simplicity sake, you could utilize most of the Yuneec flight system on the drone side of things. Obviously if your trying to stuff this all into a tiny whoop, not going to happen... I don't know how much access you have to the Yuneec flight controller parameters, but is there enough to graft the WHOLE deal into a new bird???
The thread that I linked was specifically the part where I was trying to modify the ST16 side to display video from a camera that it wasn't intended to. The different Yuneec cameras have different initialization schemes which means that as is the ST16 can only really display video from the CGO3 cameras. But I wasn't able to get that to work.

For controlling another drone with ST16 you are correct that no modifications to the ST16 software is required. It still took me longer than it should have to figure out the data coming out yuneec receiver. And then it took me even longer to figure out the serial protocol between the yuneec flight controller and the CGO3 gimbal (the gimbal is controlled by flight controller via the zigbee receiver, the camera is controlled over the WIFI). These 2 threads have the info about that side of things if you are interested.
 
I am reading through those threads trying to process the data for relevance to this. Still, I am thinking that the problems being hunted there though, are mostly separated from mine. They are useful, if I decide to utilize this controller as an RC transmitter... But they are giving me hope that the Android tablet itself is doing most of the processing. If this is true, then hopefully I will have an easy time making it work for the ROV.

For me, the camera connection is easy. All I am using the controller for is to basically view a webpage. Like remote viewing the camera, but I am just connecting to the ROV. All the controls and telemetry data are handled on the ROV. I will likely get into trouble if I decide to change the camera inside the Fathom though... Not sure the Fathom software has the flexibility to make that change, or to support viewing a second camera.

So if all the controls are available and visible to the android platform, I am hoping I have enough flexibility to utilize and configure them inside the Fathom software.

I suspect some wrong assumptions are being made in one of those threads too. I don't think that the video is being transmitted THROUGH the Yuneec 2.4ghz transmitter/receiver link. Video is usually transmitted on the 5.8ghz band, and it appears the controller has a 5.8ghz module inside of it. I don't think Yuneec would change this normal convention.

From what I can see in videos that show the internals, the ST16 has two RF modules. It has the 5.8ghz video transmitter. The 2.4ghz Zigbee radio, basically a fancy 2.4ghz RC link. And it appears to also have a standard 2.4ghz wireless card type of link too. I am hoping it can use the Zigbee radio as a normal 2.4ghz wireless connection. That connection should be a lot better out on the water than an internal pcb antenna.

I don't know what the capabilities of the Zigbee are though. Video CAN be transmitted via a 2.4ghz wireless connection, so that is a possibility still, and would perhaps explain the difficulties being experianced.

Whatever the case, none of that should really matter for my use. Other than if I can use the Zigbee radio for the normal wireless link instead of the tablet's wireless card/circuit.

For mine, displaying the camera link is a matter of just connecting to the internal webpage/server on the ROV.
 
Dylanfm after reading through your posts, I suspect you know if this is transmitting it all through the 2.4g link, or if it is transmitting video on a 5.8. You are light years ahead of me on this!

But then again, for my main intended use this probably won't even matter. There were no pictures of the top of the controller where I could see if it has two or three antenna posts. It is coming with a small pile of antennas though. And again, I am mostly concerned with a rock solid 2.4 wireless network connection, not the RC or video links. So just a matter of opening it up and possibly reconfiguring what is plugged in to where.

The ST16 should be here Thursday, and the Fathom on Saturday. I think I have a legit version of the Fathom .apk downloaded. I will try a couple other sites to see if things match up. Always leery of utilizing non google sites to grab downloadable .apk. Unfortunately there isn't a choice I know of that allows one to do this from the play store. Alright that is another rabbit hole to go down... Seems there are now some Chrome browser extensions I can use for this. I will do a little more exploring.

Anyways all I can do right now is speculate, read, and absorb as much knowledge as possible. I have never powered up my OpenROV boards and system either. I might as well tackle that mini-project. Huh, I just realized I have no idea if the ESCs are brushed or brushless that came with the OpenROV. Or if I can change them... Oh boy. I need to go dig those goodies out!
 
  • Like
Reactions: retroman972
All camera communications are on a 5.8GHz Wi-Fi link. The Camera is the AP.

Tablet and Android version are on this screen from Settings in Pad.
Screenshot_2021-01-04-16-40-08.png
 
  • Like
Reactions: TyphoonAddict
Hum... Alright ignoring all the proprietary Yuneec software and bits, this tablet does still have a standard 2.4ghz wireless network card in it, correct? I really can't imagine a tablet not having a standard 2.4 network card. And we know this can go online.

It should be arriving today. My first goal will be to simply power it up, turn it on, and go exploring. The Android version "should" support Play if rooted. But that is a mixed bag and if I can simply side load anything I really need, why bother. The real question will be if I can strip it down enough, without rooting it.
 
Last edited:
Hum... Alright ignoring all the proprietary Yuneec software and bits, this tablet does still have a standard 2.4ghz wireless network card in it, correct?
There are two cards exactly. One is working with the standard android, the other is dedicated to works with the FlightMode.apk. Android card is dual-band (IMHO). the FlightMode card is 5.8GHz only. Both are 802.11n 20MHz band wide

.Internal antennas.jpg
 
You cannot reuse the ZigBee trancceiver for othe protocols. It is a Sytem-On-Chip, only ZigBee in (SOC CC2530). For PX4 Autopilot there is a subsystem for SR24 that handles the ZigBee connection.

I believe the processor power of the ST16 is too low to handle a a full featured tablet and the flight mode app at the same time.

The channel settings on the ST16 gives a lot of possibilities to control other devices that Yuneec drone, but this concept was never brought to an end. With other words, it has many limitations. Sometimes unneccessary error messages, sometimes missing capabilities.
But in this case the SW effort is on device side. There is an open source project to reflash the Typhoon H with PX4 Autopilot just to do more with it and have access to all parameters:
This is an example how to do it and what is the effort.

br HE
 
Well with either ROV system I don't think I need to use the flight mode app. In fact, I probably need to eliminate it. I also don't need an RC transmitter per say. Now if I do actually need the flight mode app to send the stick data into the Android system, that will get weird. My solution there might be to utilize a USB controller board, assuming there is a usable usb input.

So again the OpenROV system connects to the webpage on the ROV's companion computer. That computer does most of the processing power needed. The tablet just has to process the video being sent back up the link I guess.

The Fathom system works slightly differently in that it needs an app.

I went with the ST16 here for a couple reasons. Mainly it is an Android tablet with joysticks and buttons. Next, it was inexpensive. If it takes a little more to get it to work, or I brick it in the process, oh well lol. There is still a case with the buttons and sticks...

I don't think I will need much in processing power for either the Fathom system, or the OpenROV system. Now running ArduSub and Mission Planner, probably would need more. And if processing power becomes an issue, I will just build a Custom GCS or utilize one of my Toughbooks.

The ST16 is SUPER appealing to me though in that it is a full miniature GSC in a small portable package. Packing it in to some remote lake in a backpack, wouldn't be hard to do. The Fathom ROV is also super portable.

Anyways the sooner I get to sleep, the sooner I will have the package in my hands! Hopefully it will be here today. The Fathom is still a few more days out, but I should still be able to get the app for it side loaded today and get some idea what I am up against.

Worst worst case scenario, it looks like there is enough room inside the ST16 that I could actually install a SBC inside it with enough processing power to solve all these issues... But not sure that effort is worthwhile. Lets see what happens when I get the Fathom app installed!
 
I must say first, I'm not a Android expert. But I think, Android as OS offers the interface to the peripherial devices like GPS module, WiFi module, transceiver module (connected via standard UART port) and GPIO ports to the switches, buttons and sticks.
Flightmode app will use the HW adresses and compute the input data in an needed manner to control the aircraft. Channel assignement, channel settings etc. are in the flight mode app. In RC mode the flightmode app is the only one that is accessible. And this is a good concept if you control an aircraft from security point of view.

To show the RTSP stream from camera via 5GHz Wifi connection in uses the VLC core. The camera will controlled via CGI commands that could be sent by any webbrowser. The Yuneec CGO app does the same. I remember there was a third party app that coud do more. Let me search in history...

br HE
 
There are two cards exactly. One is working with the standard android, the other is dedicated to works with the FlightMode.apk. Android card is dual-band (IMHO). the FlightMode card is 5.8GHz only. Both are 802.11n 20MHz band wide

.View attachment 24316

I believe that is an old teardown picture. On my ST16 I have three external antennas, a basic stick antennas and a stubby circularly polarized antenna. I know there were old models that had 2 external antennas, I haven't seen this model that doesn't appear to have any external antenna connectors. I think what is labeled as 2.4Ghz wifi is actually the the 5ghz wifi (though I think it is really dual band. I believe that on mine (and most "newer" ST16's) the 2 stick antenna connectors will go to the Zigbee module (which to be clear is 2.4Ghz and might meet standard 802.15.4 but isn't what we generally call WIFI). I believe the stubby antenna will go to a dual band 802.11N wifi card . Those are my assumptions based on what I have seen, I will have to take my ST16 apart to know for sure..
 
The secondary (telemetry) antenna is a marketing trick, but the explanation will be long and for sure not interested for me.

Let us presume your beliefs are right. From these facts you plan to do something, so your success will show, what are the real things,
 
This is the antenna layout in the ST16. This is the original layout. The second version (ST16+ Not ST16S) moved both Zigbee antennas outside (2.4G antennas 2 & 3) and 2.4G antenna 1 for WiFi remains inside. The 5.8G WiFi antenna was relocated to the top center position. Electrically they are both the same.
 

Attachments

  • ST16 Antenna Explosion View.pdf
    298.1 KB · Views: 19
The WiFi card is dual band, but I am not certain if it will support concurrent 2.4G and 5.8G communication.
 
The WiFi card is dual band, but I am not certain if it will support concurrent 2.4G and 5.8G communication.
Yes, it will support 2.4GHz WiFi in pad mode. All ST16 have 5 antennas:
- GPS antenna
- 2,4GHz Wifi (inside)
- 5GHz Wifi (Outside. patch or musroom alernative)
- two 2.4GHz antennas for RC connection (ZigBee), antenna diversity. Maybe both outside (yes, marketing) or only one.

I prefere the older ST16 with one RC antenna outside and one inside because it is more obvious to keep the right angle beween the two antennas (optimal 90°).

br HE
 
SUPER COOL! Alright I have lots of information to dig through and read up on now! And time to do so... Bothe the controller and the ROV arrived today! The ROV is fully charged, the controller not so much. It took 15 minutes before it even turned on. It has been charging for 2hrs and is only at 5% now. It will be a while lol...

I have the three antenna version, and an extra set of upgraded antennas. I will leave them however they are for the moment. But eventually it might make more sense to give the wireless card antennas priority.

Managed to finally get it fully booted up. Did some exploring, but haven't tried to side load the Fathom app yet. Need to find an SD card.

My ST16 suffered from the sticky sticks syndrome. Will need to do the cleaning routing on them.

Are these Hall sticks or potentiometer???
 

New Posts

Members online

No members online now.

Forum statistics

Threads
20,952
Messages
241,577
Members
27,284
Latest member
csandoval