This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Using nRF52840 to send data over open sea surface

I am currently working on a project where I try to send data from a swimmer in the open sea to a point on the land (beach). I know that Bluetooth communications are blocked by the water, but would it be possible to achieve this communication whenever the wrist of the swimmer (wearable) is out of the sea? Will the sea environment allow this communication?

  • Hello,

    This doesn't sound like a case where BLE would be very suitable.

    As you say, water is a medium that blocks the BLE radio communication, so it will not be possible to maintain a BLE link under water. In the case that you mention, to transfer data when the wrist is above water, this also sounds difficult, because you need to establish the connection and then send whatever payload data you want to send before the wrist goes back into the water. 

    To establish a link very quickly, you would need a very short advertising interval and a short connection interval once the link is connected, if you want to transfer data fast. So depending on how long your device is above water, this may or may not work. In normal swimming conditions, I would say that it wouldn't work very well.

    The short advertising and connection intervals will also use a lot of power, so your battery life will not be great. 

    Best regards,

    Edvin

  • Hi Edvin, 

    Thanks a lot for your reply. 

    What if only wanted to establish the connection (just for detection purposes)? What could I use if I wanted to achieve fast connection? 

    Best regards, 

    Harry 

  • On peripheral (typically the device with the smallest battery, so I assume the wristband thing), you need a short advertising interval. On the Central (the scanning device), you need a large scan window (preferably equal to the scan window). Depending on what acts as your central, you may or may not be allowed to use the radio 100% for scanning. If it is a mobile phone, you will not, but if it is another nRF, just set the scan window = scan interval. 

    Then, on both devices, set your preferred connection interval to be as low as possible. Again, if the central is a phone, you can't decide exactly what it is going to be. If it is an nRF, set both minimum and maximum connection interval to be 7.5ms.

    What you would want to do then is to keep track of your connected and disconnected events. That is, the BLE_GAP_EVT_CONNECTED, and BLE_GAP_EVT_DISCONNECTED.

    I don't know exactly how the position in the water will affect the range. You would have to do some testing to figure this out.

    So what is your central in this connection? Is it a phone, or do you intend to use nRFs as both peripheral and central in the connection?

    Best regards,

    Edvin

  • What if only wanted to establish the connection (just for detection purposes)?

    If it's just for detection, why do you need to establish a connection at all?

    If it's just for detection, do you need to use Bluetooth at all ... ?

  • Well, there are two scenarios based on the range. If the the range can reach the shore then yes, it would be a phone. Otherwise, I could connect to an Arduino enclosed in a buoy in the open sea, and then with an antenna communicate with the phone on the shore.

    How could I detect it then? Do you have something more efficient and long range in your mind?

    Thank you both for the replies.

    -Harry

Related