Maybe I should have started here. Underwater radio communications are hard. This might be the hardest part of the project.
Direct Radio link
Connecting the controller to the shrimp using a simple RF link is not going to straight-up work, due to:
- the ambient noise in the air,
- the air/water interface loss,
- the water conductivity that affects radio signal,
all 3 reducing the overall signal reach. Underwater, it seems like you can either use a high frequency signal (2+GHz) that carries significant data and doesn't get farther than a few inches away from the emitter, or a low frequency signal (in multiples of 10MHz) that reaches past 10 meters, but that carries pretty much no bandwidth, ie blind control, no video feed.
flowchart LR style air fill:#96d2ff subgraph air c[Controller] end style water fill:#0092ff subgraph water S[Shrimp] end c[Controller] -. Radio .- S[Shrimp]
So let's see what alternatives we have.
Floating Relay
One solution to fix the air/water interface loss is to get rid of it with an intermediate relay that floats and... relays data between the controller and the shrimp. Placing a relay in between controller and shrimp adds one node in the graph, opening to 4 different configurations...
Tether Only System
Technically possible, but why bother with a relay if everything is connected with a cable anyway? Next!
flowchart LR style air fill:#96d2ff subgraph air c[Controller] end style iface fill:#ffffff subgraph iface r[Relay] end style water fill:#0092ff subgraph water s[Shrimp] end c -- Tether --- r r -- Tether --- s
RF Only System
This is the direct link system with an intermediary step. While it saves the air/water iface loss, I don't think it solves the relay/shrimp coms.
flowchart LR style air fill:#96d2ff subgraph air c[Controller] end style iface fill:#ffffff subgraph iface r[Relay] end style water fill:#0092ff subgraph water s[Shrimp] end c -. Radio .- r r -. Radio .- s
Controller-tethered Relay
Down my feet floats the relay, to which I can connect the controller (think, Ipad connected to the relay in WIFI access point mode). Thing is, letting the relay be so close to me for the (easy) air-based communication, while letting it be so far away from the shrimp for the (much garder) water-based coms seem like a waste.
flowchart LR style air fill:#96d2ff subgraph air c[Controller] end style iface fill:#ffffff subgraph iface r[Relay] end style water fill:#0092ff subgraph water s[Shrimp] end c -- Tether --- r r -. Radio .- s
Shrimp-tethered Relay
This is the only configuration in which the water-based communication is made easy, since it's basically removed from the equation:
flowchart LR style air fill:#96d2ff subgraph air c[Controller] end style iface fill:#ffffff subgraph iface r[Relay] end style water fill:#0092ff subgraph water s[Shrimp] end c -. Radio .- r r -- Tether --- s
After a few days looking at the video feed bandwidth problem, and weighting whether the whole project was still interesting to me without a video feed (it's not), a shrimp-tethered floating relay, while sucking on the aesthetics and raising risks of getting the shrimp stuck into weeds and whatnots, is the safest option for what is a very first try at this RC hobby thing. Safe is good in this context ๐
New Considerations
We can now consider communications to only be air-air, which is nice, because it opens up the multi GHz modules used in FPV models.
After talking this through with my adviser, it seems like the most simple MVP can have the controller working in place of the relay, ie a direct, tethered, link between the controller and the shrimp. This way, there isn't even air-air coms to consider at all. The shrimp is controlled from a tethered control station. Once this is working, I'll start thinking about making this station remote from the shrimp, using the floating relay.
Tether
This is an example of an ideal tether:
- self buoyant
- strong
- multiple twisted pairs
Except for... its price. The 1 twisted pairs runs at 5US$/m + 30$ shipping, ie 130+CA$ for 10m worth of (great) cable.
A cheap prototype I can work with is... a simple cat5/RJ45 cable ๐ Going minimal with an RJ11 (6p2c) would also work, but all ethernet adapters I see in single board computers are for RJ45, so I might as well just use that.
- the one I found has a 30kg tension strength, probably stronger than whatever means I'll fix it through the hull with
- it's cheap
- no idea how buoyant it is. It may take some extra steps to make it slightly positively buoyant, so that is doesn't drag too much on the floor.
As long as controller boards on each side have an ethernet connector, they should be able to connect to each other and communicate this way.
Resources
Information
Shops
- [5] dwmzone.com
- [6] sub 1GHz modules
Note: this post was totally not a pretext to try out mermaid diagrams in the blog, what are you talking about! ๐