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

Advice for using/hacking ST16 for Fathom ROV

THANKYOUTHANKYOUTHANKYOU!!!! Just hit post and it told me to go back and refresh first. Thanks DoomMeister! I will take a look tomorrow! And I suspect they might help with this...

Humm.... Well I have made good progress, but hit a small snag.

Progress: I got the new raspberry pi loaded with the ArduSub card, and have the camera working. Or at least I can see the camera is connected when I enter the wen interface. I can muck around in there. Took a WHILE to get the network settings right to get there, and some fiddling to get the camera showing up.

Snag: I am not getting video into the ArduSub QGroundControl software. Iy shows disconnected for some reason. I suspect it has to see the Pixhawk talking to the Pi to become "connected." The Pixhawk is coming from Shenzen with a delivery estimate of Feb 19th... I think I have 2 of the autopilots on the unverified list.

So it seems that I have no interface for web control avalible in ArduSub. But moving on from this, it suddenly got interesting!

SUPER WEIRD and VERY INTERESTING!!!!: So I plugged in the Fathom Shield and rebooted. Suddenly, the QGroundControl software came to life. I was getting a "Conflict error unable to initialize device driver" hollered out repetitively over my MacBook speakers. Not sure what this means yet, but it defiantly recognized that I had the shield plugged in. If there was a way to get that working instead of the Pixhawk, that would be epic!

That is enough progress for tonight, starting to see double lol time for bed.
 
instead of, or even with the Pixhawk. Need to study up on how the Pi image is compiled. Poking at it last night, I noticed a package list. I think there might be something like that in the Fathom repository files. If creating a new Fathom card image is just a matter of grabbing some readily acalible packeges on a menu list... It can’t be that easy can it???

I still think starting with a working Fathom control package would be the best bet.
 
The schematics are super interesting! I need to print everything out, and then go to the online viewer and get the BOM. Some of the IC chips aren't labeled on the schematics. And having the schematics actually printed out will make inspection/study a little easier. At the very least, there is enough there to sort out this wiring mess and figure out what plugs in where. There are still two plugs I have questions on.

They don't appear to answer actual plug wiring though. Like the ethernet cable, ESC out, and ESC control. Actually ESC power out won't matter, but what control wires go where, will. There is a test routine in the code snippets on the Fathom Archive, but I have no idea how or where I would run that. Not a big deal. I think there would only be 9 combinations or so.

I am left with an unknown 3 pin and an unknown 2 pin connector. I think the 3 pin is for the depth sensor. The 2 pin, NO CLUE. I have three questions to answer on the main tether connector. 1) Probably doesn't matter as long as it is consistent, but what ethernet pin goes to what tether pin? Chances are this is mostly answered by copying the topside pattern. 2) But, how id the POE wired in? There are 2 + and 2 - pins. Does this go between the tether and the ethernet plug? Some study/googling on POE might answer this. 3) How does plugging the tether in, turn the pi on? The tether side is obvious, a wire jumper from 9-10 (I think it was these pins, doesn't matter). It is possible that is what the 2 pin connector is for.

Some of this will if not all, be answered once I get the rest of the foam out. My plan is to soak it in thinner, and then mechanically remove using my pressure washer. Everything is out of the hull now except the depth sensor in the tail, and the remaining wiring and plugs. Hoping the pressure washer leaves everything pretty much intact to help sort out the what to where. I am going to tackle that, once I post this.
 
Here is the BOM
BOM 1.pngBOM 2.pngBOM 3.pngBOM 4.png
 
Thank you again DM!!! I am going to print everything out, maybe later tonight, to sit down and give it all a really good study. I now have enough of the wiring accessed to sort out the remaining connections to the outside.

It is probably too cold outside to be doing this... I am sneezing like crazy now lol. I have been slowly pressure washing and teasing the foam out. The thinner doesn't seem to really help a lot. But I guess it does something. Both the bottom charging plug and the top tether plug are uncovered. The bottom plug I was able to fully remove. I haven't tried for the top plug. It is sealed in with some sort of glue that looks like hot glue, but is a LOT more tenacious. I have enough wire coming off it to easily attach to, so for now I will leave it alone.

The problem, is the last little bit of foam left in the very bottom, well the tail... I now have access to the top of the pressure/depth sensor and maybe halfway around the side. The last ESC was buried down there too. It is in the way and I can't just tug it out. I wanted to save all the ESCs, but probably not too big of a deal if I can't. Unfortunately, the ESC was likely put in before the pressure sensor. There is no extra room on the output wires, so I have to get the pressure sensor out, to pull out the ESC and access the wires. If I could get enough to attach too, I would just leave the rest in.

I need to be super careful in the bottom. I have already broken a couple internal webs, nothing serious. But I can't risk breaking the bottom out. I will take this last part EXTRA slow. There is writing visible now on the pressure sensor, enough info I should be able to look it up. I need to see what it is and check it against the ArduSub and OpenROV recommendations. I don't want to use any more lacquer thinner or acetone before I find out what that sensor is.

Well I am off to go clean up the Fathom PDB. It has been soaking in acetone for a few hours now. I will see how that goes, and figure out how to proceed with the tail portion.
 
Super glad I did that to the PDB PCB before dumping acetone in the tail and letting it soak... The acetone works well. It softens the foam VERY nicely. But at a cost. If left in that long, it also softens and destroys the wire insulation. It does some minor etching to the plastic too, so care is needed to keep it off the outside of the shell. When all done I am sure I will need to polish the outside anyways though.

The foam seems to harden again after the acetone dries, maybe the wiring will go back to normal too. Everything damaged right now though, is easily replaced. The topside wiring wouldn't be a quick fix. The depth sensor wiring would have been destroyed too.

I have the depth sensor out now, but still struggling to get to the tail posts for the rear ESC. Almost there!
 
Last edited:
After a couple more soak cycles and attacking with toothpicks and a wooden paint stick, I have the Fathom PDB almost completely cleaned off. Once I saw that wiring was being damaged, I removed the connectors by wiggling them off. And I discovered why Fathom failed with this adventure...

The soldering on this is ATROCIOUS!!! First off was the topside connector to the AP. One pin wasn't soldered at all, and another one is also open. Then down on the PDB, I have multiple connector pins that pulled right out, they had so little solder on them. Too much gunk was on it to tell for sure, but I suspect they were cold solder joints. Some didn't even have enough solder to fill the via holes up. On the power input section with the battery plug there is a through hole capacitor. I thought I had damaged it cleaning the board as it pushed to one side. Nope, zero solder in the negative hole.

BASIC manufacturing procedures should have prevented this. I suspect Fathom tried to cut costs too much, maybe even soldering these connectors on by hand themselves. Whoever did this, had no business having a soldering iron in their hands. I am staring uncomfortably at the tether plug on the top of the ROV. If I don't fully redo it, I will at least ohm it out while poking and tugging at the wiring to check for possible issues there too.

Good news, the hull is finally all cleaned out! I would like to have it cleaned out better, but I also have to remember I am going to refill it with foam anyways. It is basically scraped down to the walls with no sizable bits left. So the worst mechanical job, is done.

The pressure sensor is a 0-150psi 3-wire transducer. 3-wire connection to the Fathom PDB. Staring at the BlueRobotics parts, their depth sensors are all 4 wire. They plug into the i2c port on the PixHawk directly. 3 or 4 wire issue aside, the 150psi range apparently isn't programmed into ArduSub and available, even on the BlueRobotics sensor that plugs into the i2c.

I need to come up with a decent approach that either allows me to swap the sensor out, problematic if stuffed into the tail and waterproofed with the foam, or install another sensor elsewhere.

I may either replace the bottom charge plug with another that has more pins, or just add another plug. I want the ability to get more options through the hull. Additional lights, camera control, or perhaps a grappler.

This will require a simple yet reliable way to access the wiring. I don't have enough room for terminal blocks like used on larger ROVs. I am thinking I may use ESC style bullet connectors. Planning on using these for the ESC also anyways.

So yeah, AWESOME progress today! And a LOT more to work through. This is the fun part now at least!!!
 
The next batch of parts has arrived and I’m a little stuck. I had ordered a second aluminum box as it was listed to be 71mm wide. It wasn’t. It is 76mm just like the one on the way from China. That 5mm is a HUGE difference... I don’t have a lot of space on the sides, and am worried the ESC terminal through hull bolts will short out on the aluminum.

Since I have another box on the way, I’m going to try shaving this down. I think I can clearance 2-3mm off the sides.

Another small problem... I have enough room in the case for the Raspberry Pi, the Fathom PDB, and hopefully the Pixhawk. It is going to be tight. And I don,t have any room left for the ESCs. Not sure it will matter, but looks like I’m going to have to put the Pi and PDB in backwards too. I can orientate the Pixhawk FC the correct way at least.

I’m probably going to weld a small project box onto the main box to have a pocket for the 3x ESCs.. I could do a tube pocket like this to the tail also I guess. But that is probably just over complicating things.

I need to make the final attempt to sort out the Fathom running gear. Or decide not to bother. I don’t really have space for both depth sensors.

Anyways got a big pile of parts. Next step is trying to get the main box slimmed down to fit in. And maybe poking at the bad Fathom card one last time...
 
Reboot. Thinking about the Fathom vs the ArduSub software/control system....
@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.

SilentR9, I don't know how involved this is, or if there is a question of "ethics" here, but if you find time to put even a little effort into this, it might make more sense to reverse engineer this for the ArduSub side of things. I might be the only one that will ever use the Fathom app, for an actual Fathom ROV, running the Fathom image. And that doesn't look likely for me, I have run out of ideas and lifelines to repair or obtain the Fathom image for the Raspberry.

Modifying the Fathom App to work the ArduSub system (and the ST16) seems like it would be the best approach. Again, I don't know what the actual internal "ingredients" of the Fathom app are. As mentioned before, I have a suspicion that Fathom's interface isn't a whole lot more than a fancy webpage menu, with a couple other bits of supporting framework thrown in.

ArduSub doesn't have an app. While some of the page addresses are different, it looks like the Fathom and ArduSub both mostly use webpage access on their ROV's to get to controls, video, and settings.

If this is a project you're willing to take a look at, let me know what you need to get started. A Pi? A PixHawk? Beer, coffee, or pizza money donations?
 
Reboot. Thinking about the Fathom vs the ArduSub software/control system....


SilentR9, I don't know how involved this is, or if there is a question of "ethics" here, but if you find time to put even a little effort into this, it might make more sense to reverse engineer this for the ArduSub side of things. I might be the only one that will ever use the Fathom app, for an actual Fathom ROV, running the Fathom image. And that doesn't look likely for me, I have run out of ideas and lifelines to repair or obtain the Fathom image for the Raspberry.

Another thing that I have been wondering since @SilentR9 posted last is if it changes anything with the ethics of it if I point out that the ST10/12 code is online and doesn't look obfuscated to me (but I could be wrong) here:

My problem is that I don't know anything about Android programming, but without breaking in confidences, I wonder if you help me figure out how to gain more control of the ST10 and/or ST16 based on that code?

Dylan
 
I just found this response to a post post over on BlueRobotics: Rework ArduSub for a Raspberry-based ROV

It looks like there might already be options to at least get started. It seems to be missing video though. Dunno, just throwing out tidbits.

I have a couple more project boxes on the way. Tomorrow, I will work on the big one and try to put it on a diet. I have an order in from BlueRobotics for the depth sensor, and a couple other goodies.

Everything is either here, or ordered and on the way. Except for the foam, and possibly ESCs. I may be able to repair/reuse the originals. As far as I can tell no damage was done to them, other than tearing off the servo pwm wires.

I verified 100% the foam I found is the 624/625 referenced in the Fathom docs. I found some alternatives, but different densities. Lower densities are more buoyant, but less compression strength. Higher densities are stronger, but less buoyant.

Working on the brain puzzle of this... The foam doesn't add buoyancy, it simply preserves it. But at a small cost. The actual weight of the foam adds to the displacement.

I need to ponder the foam question and do some component weighing in... I am likely going to stick with the 624/625 stuff and just remove steel plates to compensate for
 
Last edited:
The 624/625 foam is ordered. I have a couple longer cables coming for the camera. And in fact, I also have another small usb camera to play with that has a mechanical zoom. I should have everything I definitely need, and a few things I might need. I may go ahead and order some bidirectional ESCs.

Twice now though I have ordered the wrong cable ends for the aviation IP68 plugs. At least the one I got this time will get me by. The one I really want is probably a long wait from China.

Alright here is the main box before shaving it..

738F7A48-F256-430E-A708-97BFD9982EC2.jpeg

Here it is after a good shave, got 2mm off it.

FF127B4A-1716-495C-AE8C-F6FB0E143ABD.jpeg

The original tray, trimmed down to fit in the box. NICE snug fit. But not hard to pull out.

74BC3AAF-09E0-4709-9982-A3709356E547.jpeg

The original slots for the tray, trimmed down to fit the box. This took a while to do safetly and cleanly. Drone body all de-foamed.

25CEBEC2-E7BD-4177-B9E9-FDD766BEFE3B.jpeg

Box fit into place. It needs to be shortened still. The front cover probably won't be installed, as a lot will need to come through it. Can't really tell from the pictures, but I don't have a lot of space between the side thruster mount bolt heads, and the side of the case. Those bolts are where the 3 wires for each motor goes out.

AABB4E85-417F-4248-8F2A-A9F1BCA08D11.jpeg

The steel ballast plates go in the space underneath the box. I need to weigh them, and weigh the box. Ideally I want it just slightly positive buoyancy, or start with perfectly neutral for freshwater. There is a ballast holder I can add to the picatinny rail for saltwater. I may have one for fresh too, and err on the light side. I am not sure if a GoPro and a dive case adds more buoyancy than weight, or what the deal will be there.

This is an awesome video on setting up camera systems to be neutral. Same applies here. I mean this is essentially a video and camera platform that just so happens to move on its own.

 
Last edited:
  • Like
Reactions: gryphon966
Opinions/thoughts needed!

1) Do I go through the effort of making the ESCs removable, replaceable? Or take a risk and bury them in the foam again like Fathom did originally?

(If I do bury them, I am going to replace them first...)

Almost all the parts are here now! The BlueRobotics and the Fiberglast packages are all I am waiting on. And the foam from Fiberglast was JUST delivered as I wrote that! The BR order I need before I pour the foam, but I don't need it for fitting and trying stuff out.

It is tight, but the Raspberry, the Fathom power board, and the Pixhawk all fit into the main box. Routing the power wires. and all the other sensor cables in and out will take some planning. If I can mount the Pixhawk upside down and backwards, and the Pi backwards, it will be easiest to stuff it all in. In normal ArduCopter, this is doable. Hopefully, ArduSub has the same options. I will stare at this some more as mounting things correctly means a couple less software/configuration problems. Backwards though, gives me quick access to the Pi's 4 USB ports.

The point to this though is, mounting the ESCs inside the main aluminum box won't be an option. Making add on pockets with the additional smaller boxes is likely off the table too. It is still a possibility, but looking at it with all the parts on hand and I realize it WILL NOT be an easy plan to pull off.

2) Maybe I should just do away with the whole main case/aluminum box idea?

With some careful planning, I guess I could wrap the whole package together, stuff some sort of spacer on the bottom, super wrap it in saran wrap or something, and foam it. If I do it right, pulling the spacer out will let the whole package slip out.

Or possibly, I can play to the strengths and weaknesses of a couple materials...

3) Use the body as a mold, fill with styrofoam slime. Let sit and acetone evaporate leaving a perfect styrofoam plug of the inside cavity. Carve away where I want the buoyancy foam to fill. Set cables and plugs as needed. Pour in expanding foam, pop plug in and let it set. The plug will be glued in, but as it is polystyrene foam and not polyurethane foam, I can then melt it out with acetone.

Maybe too complicated... Might be simpler to just grab some tubes, spheres, and blocks and build out an inside cavity. I can foam fit and then melt the plug out. But I can't test fit until it is all done...

I have fiberglass. I could easily cover the cavity plug with that. Melt it out, check components for fit, then secure the fiberglass shell inside the body, and fill the remaining with the hard expanding foam.

The aluminum box internals has the potential to be the strongest option. But I have a few problem areas. Very tight fit between the walls and thruster bolts to the case. I don't have access to the rear pressure sensor. The fathom One I could just repot in the foam, but the BR one I kinda need access to. I have very limited space inside the case, and no room in there for the ESCs. No room for any extra expansions.

I think I can get enough of the hard foam inside the body to get back most of the structure strength. Not all of it though. The original setup was essentially solid filled, minus a small cavity between the two PCB.

4) Back to aluminum boxes... I do have all these parts on hand now, so I am only out time if I keep trying to work it out. I can visualize a couple approaches that might do it, but still nothing that gives me easy access to that rear pressure sensor area. (If I go with #3, I can probably use some space back there for the ESCs)

Right now I am leaning towards some combination involving #3. I have a leak sensor on order from BlueRobotics. This one probably won't go below 100' so if it isn't quite as strong or watertight as the original was, might not matter and I still have an SOS.

There is a small glimmer. Somebody popped up in the OpenROV forum looking for software. Meaning that they just happen to have a Fathom with hopefully an intact image file. Makes me want to get it setup to be configurable all the more! Swapping between one control system to the other would just take pulling the nose off and a few minutes.

The Fathom software is already developed. Fixing and tweaking that to work with the ST16, I would imagine is quicker than starting over. While it is all out of my skillset to do so, at least having a clear picture of how the different systems operate would give somebody working on the software a better map.

Anyways brain dump over. I have stared at this thing for hours now trying to come up with the perfect approach. I am open to any suggestions!!!
 
Staring at my parts pile and realized another change I should make. The charge port. It is a 4 pin for a 3s pack. I have to use the special Fathom balance charger. Not a big deal, until it breaks. But if I use one of the 5 pin connectors I ordered, I can use a normal lipo charger, and more importantly, I can storage charge the pack without opening it up. The 4 pin should be enough for anything else I need through the hull. It is enough for USB anyways.
 
Good idea on the charge port. That will facilitate better battery maintenance.
 
Good idea on the charge port. That will facilitate better battery maintenance.
I discovered it might not even be necessary, but I’m going to still do it anyways. It turns out they (Fathom) very intelligently used a life pack, instead of a lipo. The pack has a ballast weight taped to it that was covering up the info. I know my B6 charger can charge it, just not sure if I need access to the main power plug too. Whatever the case, having it gives me that extra flexibility. If I had a lapse in judgment I could put a lipo pack in there... LOL!

I am still partially stalled on the enclosure and fitting everything in there.... The aluminum box is nice, but it just adds too much work. And it doesn’t solve the tail section concerns... Yesterday I went to Michaels and bought a foam cone and block. It is like a hard floral foam from undefined recycled plastics and I wasn’t sure I could melt it out with acetone. It practically evaporates as soon as acetone hits it. Should work perfectly. And it is hard, so it will be easy to carve and work with.

I got my joystick working with the topside laptop and spent some time connected and poking about. I am getting a baro configuration error, and can’t get it to ignore that and fully connect. So video isn’t coming up, but the companion is connected to the camera at least.

Still waiting for my BlueRobotics order to be filled and ship out. The depth sensor is in that order. Likely the baro config issue...

Once I get the enclosure plug and thru hull wiring done, the next big project will be finally tackling the ST16. I haven’t opened it up to explore inside yet. Hoping that all the control buttons and inputs go to an encoder board that is separate from the main android tablet mainboard. I doubt I will get so lucky though....

If I can’t get the Ground control software working on the Android platform, I have a backup plan. I should have enough room inside the ST16 to stuff a Raspberry Pi into. I think I can run the GCS off a Pi. Obviously I would verify that before going through that much effort. But the Pi can run Linux so probably doable. Getting the controls and inputs in would be interesting. Worst case, gut a gampad controller.
 
Last edited:
Stalled again... I have all the parts now. And even with the depth sensor plugged in, I am having issues with a "baro configuration error" warning... I have spent more than a few hours poking at it trying to get it working. Also for some reason I can't calibrate accelerometer and compass. It says "hold in position indicated and then press next" but I don't get a next button to press, ever.

I am still trying all this with the Fathom PDB plugged into the top of the Pi. And attempting the setup and connection with my MacBook. Not sure if either of those is adding to my problem. I will be using a Toughbook for the topside later on, especially if I can't get the ST16 online.

It is frustrating, I have three potential operating systems for the ROV, and issues with all of them... I could go on about that for a bit, but I already have and it isn't getting me closer to a solution. In short I could have the Fathom system online pretty quickly, if I had an image for the Pi. The ArduSub I have spent the most effort on, no idea what the issue is there. And while the OpenROV platform should be the easiest to get configured and working with whatever device, including the ST16, the control/power delivery board doesn't fit inside the hull.

Or would it?... Ugh. No. I thought there might be a chance with everything removed from inside the hull, but the only way would be with a reconfigured control board. Or a new hull... Fathom did upload the STL files, so that wouldn't be too impossible to pull off.
 
Also for some reason I can't calibrate accelerometer and compass. It says "hold in position indicated and then press next" but I don't get a next button to press, ever.
Have you tried different positions to see if you can get a ‘Next’ button? Try positioning at 90 degree angles to what it thinks it wants to see.
 
Yes, but it isn't quite working that way...??? That gave me an idea though as I pulled it up and tried to explain it. Alright, I updated the firmware in the Pixhawk. It wiped the ArduSub stuff, but whatever I can re-download that later. So with normal firmware, everything basically works as you said. I will reload the ArduSub firmware in a bit and now that I know how it SHOULD work, try again.

I have a bad feeling though... The documentation "shows" using a Pixhawk 2.4.6 in the pictures. I am using a 2.4.8. When you follow the links and chase down compatible units, it is really hard to tell if it matters. I spent a LOT of time staring at this before and it appeared that 2.4.8 should be safe. Not sure. Whatever is going on, I seem to have some sort of software/firmware compatibility issue.

Trying to hunt down any tidbits that might relate to this on the ROV forums, it seems others are having video issues with this version of QGroundControl I have downloaded. My video isn't working either, but I figured it was just because I wasn't fully connected and setup yet.

Also, I got the calibration to work with the PixHawk being directly connected to the laptop via USB. I will get the correct firmware back onto it, try that method, and then try the different QGroundControl software versions. And recharge the battery... That is now dead lol.

I have a few more ideas and things to try out. before admitting defeat and trying to source a 2.4.6 version PixHawk.
 
And in other news, I was STILL wrong about the battery type. If isn't a life pack, it is a lihv (lipo high voltage) pack. It had charged up really fast, but then it depleted pretty quickly too. For now, I am again charging it with the Fathom balance charger. This time with the charger set back on the lipo setting.

I was making INTERESTING progress too, until the battery went dead again LOL!

So nothing works "right" if the Fathom PDB is plugged into the Pi. If I unplug the PDB and power the Pi up separately, I FINALLY start to get somewhere. I have gotten almost everything working except getting battery related configuration errors, and still no video. There are threads about that on the BlueRobotics forum. I am installing multiple versions of QGC to see if that is a solution. It looks like I need version v4.0.8. I can find it on Github, but not for a Mac. There is a .tar version, so I can possibly figure out how to install that but I think I am going to just go dig out and charge up the Toughbook. Anyways ignore this, lets get back to "interesting"!

So with the Fathom PDB plugged in, it is somehow having conflicts. I suspect it might be seeing the addresses on the Fathom AND the Pixhawk for the Baro and some of the other functions. If it was seeing the FPDB compass or accelerometer, might explain why it wasn't initializing the calibration procedures.

If this is the case, it opens up some interesting things to explore...

Anyways, I am making life unnecessarily difficult trying to do this with the Mac. I am firing up the Toughbook now. I will check back in with an update if there is any real progress made.
 
Last edited:

New Posts

Members online

No members online now.

Forum statistics

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