GPS - U-blox Max 6Q
These determine the location of each buoy as a latitude and longitude, as well as providing accurate synchronised timekeeping (GPS time) for all buoys. GPS modules communicate with the Arduino via the UBX binary protocol over a serial RS232 interface and use Sarantel SL1202 (now discontinued) antennae. The modules have been optimised for 2 dimensional ocean use, in power saving mode (positional fix every 5 minutes). We used these receivers partly because they are very small (so will fit into the 'nymphs') can be put into low power mode to extend the battery life of the buoys whilst at sea.
Short Range Radios - Hope Microelectronics RFM22B Transceiver
These are low power boards used for short range communications (sending GPS data) between buoys in the POSEIDON network. We used this open source Arduino library for easy communication between the Arduino and radio modules. Packets of data are automatically encoded and decoded, further simplifying the Arduino programming.
This microprocessor chip is used by the Arduino Uno board (but is in surface mount form on our buoys). They are programmed in C with the Arduino IDE version 1.0.1 and coordinate the behaviour of each buoy; decoding and relaying data from various components e.g. the GPS receivers, or the IMU out to the RockBLOCK radio.
Buoy Network Concept
We aimed to fully utilise the benefits of an entire network of buoys by allowing the 'nymphs' to relay each other's transmissions to the 'Kraken', in case some drift out of range of the RFM22B radios. Each nymph broadcasts the GPS data it has stored in its memory to all other buoys, which receive and store this data in their own memories. This means that each time a buoy transmits its memory contents, it is transmitting GPS data on behalf of all the other buoys (not just its own location). This means that if a buoy moves out of range of the 'Kraken', its data will still reach the Kraken providing that other nymphs are still in range to act as relays. The Kraken collects all these data transmissions to send back to us via the Iridium constellation, enabling us to track the location of each buoy in the network whilst using only one RockBLOCK radio.
Iridium Satellite Constellation
We use this satellite network to relay data from the buoys (wherever they are in the world) back to us. The RockBLOCK radio sends data to a passing satellite. The satellite relays this data to a ground station that then emails it to us. This includes GPS readings to update our live map.
Inertial Measurement Unit (IMU)
The IMU is sampled at 10Hz and data is transmitted back to us to analyse.
The buoy also contains an onboard battery voltage monitor, so we know how much longer the batteries will last. Internal temperature sensor (located near the edge of the buoy to be as close as possible to the outside water temperature). Connected to the Arduino via a one wire interface.