Needed more program memory for all the breakout board libraries to run. Redesigned the circuit board to stack on top of an Arduino MEGA 2560 using all the same sensor components. Added a color changing RGB LED on/off switch. The LED acts as an indicator light to show the status of the buoy.
Still working on the firmware to read all the sensors for the buoy. Close, but needs more work. This update demonstrates the framework I’ve created for having the buoy communicate with the base station and is based loosely on the BLE concept (from what I have read thus far). The base station will act as the central device while the buoy will act as a peripheral device. The central device (base station) is responsible for establishing a communication link with the peripheral device (buoy), then the central device determines back-and-forth communication speed.
The base station is seen below. This is one of the previous prototype circuit boards for the Arduino UNO. The UNO has enough program memory to run the base station code.
Here is a quick example video showing the basic communication protocol for the buoy and base station:
Circuit board design:
Download source files > sorry no github yet, coming soon!
Example running firmware on buoy (left) and base station (right).
Base station successfully established communication link with the buoy, and then the base station issues each of the different commands to the buoy to verify the response.
Next up, need to get all the sensors working and sending real data back to the base station.