I recently started experimenting with Arduino hardware. When I saw there were cheap Iridium modems, I wanted a project that used SATCOM. The Arduino drifting buoy project was born.
​
Note: Basic commercial drifting buoys for ~$2K already exist. See https://www.aditech-usa.com/en/shop/1784-albatros-drifting-buoy-odi.html for an example.
How does it work?
What is a drifting buoy?
The buoy runs on an Arduino Trinket Pro 5V from Adafruit. A solar panel charges a small LiPo battery to provide power both day and night and for up to a few days when it's heavily overcast. At a prescribed time each day, the Arduino collects data from the onboard GPS and several temperature sensors. The data is sent via an Iridium Short Burst Data (SBD) message to an Iridium service. We use Rock7 Mobile.
The Atlantic buoy (V1) sends the following data during each transmission:
​
-Latitude and Longitude
-Instantaneous Speed (Knots)
-Instantaneous Direction (0 - 360 deg)
-Water Temperature (Measured 1 ft below surface)
-Tilt Angle (Maximum over past 10 min prior to transmission)
Several health and status bits:
​
-Internal Board Temperature
-Days program has been running
​
The Pacific buoy (V2) adds the following data:
​
-Average Speed (Over 8 min prior to transmission)
-Average Direction (Over 8 min prior to transmission)
-Max Ambient Light (0-100)
-Max Total Acceleration (m/s2)
​
What data does the buoy collect?
A drifting buoy or "drifter" is a unanchored floating buoy used to measure the surface currents in bodies of water. They are commonly used by atmospheric scientists and oceanographers to study current behavior in the World's oceans. See the following link for information on NOAA's Global Drifter Program: http://www.aoml.noaa.gov/phod/dac/index.php
Why build a drifter?
How often does the buoy send messages?
The buoy uses the Iridium Short Burst Data (SBD) service through Rock7 Mobile, a UK-based company. Each 50 byte message cost ~10 cents. Since Iridium allows two-way communications, messages can also be sent to the buoy. Messages from the buoy are received via email from the Rock7 servers. A website allows the sending of messages to the buoy.
How does the buoy communicate?
The buoy is configured to send data at a specific time T each day and every N hours thereafter. These values are changeable by sending a SBD message to the buoy.
​
Do we know why the Atlantic Buoy stopped transmitting several times?
Best guess is a software or hardware hang related to the modem. It appears the buoy hangs in a high power draw state, so each time it's recovered after the battery runs down. We are very lucky that this particular problem appears to be self-correcting.
The Pacific buoy (V2) includes a watchdog timer to deal better with software hangs.
What happened with the first Gulf Buoy?
The first Gulf Buoy launched 16 July 2017 was driven ashore by Tropical Storm Cindy. See links below for map and animated plot.