You might have noticed a red buoy with an antenna. It provides the data for this page (still in development). It might help you decide you whether it is worth dragging a kayak down to the water. Hardware and software are still early prototypes; expect limited reliability.

Status - In dry dock - Data not updating

Data below is stale. Failure on 7/13 was caused by the firmware on the supervisory board (EWDT) running extremely slowly and holding SCL down; this was causing the AVR to hang during startup. Resetting the EWDT resolved the issue. But while I have it apart, I'm doing some upgrades to fix a somewhat critical bug: I discovered a pair of hardware bugs (one mine, one not mine) that interact badly. So keeping this out of the water until somewhere between the first and second week of August while I wait for hardware to make a modification.

The first bug (mine) is the buoy occasionally flips over, at which point the solar cells stop providing power and it will run off battery until the battery is exhausted. The second bug is while the MakerFocus LIPO I am using allegedly has a protection circuit to prevent overdischarge (actually, I disassembled one and verified there is a pcb that looks like a protection circuit), in practice its cutoff is uselessly low. In bench testing the discharge curve (to add the battery percentages) I had one of that model battery discharge until it started inflating before the cutoff was hit at 2.376V (this is below the specs for the ina3221 doing the measurements and so may be unreliable).

Lithium ion batteries don't like being discharged too deeply, in the worst case they can catch fire. They also have a discharge curve in which nearly all of their energy is released well above these thresholds. During this test discharge cycle, the battery had provided 3351.79mah when it reached 3.3v (the lowest cutoff I would choose). Running it down to 3.0v provided an additional 110.63mah for a total of 3462.42mah. The final 0.6v from 3v to self-destruct provided an insignificant 72.19mah for a total at failure of 3534.61mah. That means the 3V conservative cutoff provides 97.96% of the runtime of 2.376V (not the energy, and running the rest of the system below 2.7v is out of spec for some of the parts). The even more conservative cutoff of 3.3v provides 94.83% of the runtime. The battery is actually rated for 3000mah which had been provided by 3.632V.

The fix I am waiting for is some FS321F-G battery protector chips. Unfortunately these are only available from vendors in China. The FS312 has a 2.9V (+/- 0.08V) cutoff which, while far lower than I would go intentionally, won't destroy the battery and even keeps everything in spec (2.9V = 3479.24mah 98.4% of the self-destruct total) .I'm looking at the MAX17303G but that is way more involved. Also, while I can readily solder 0.5mm pitch DFNs this would be my first attempt at an 0.4mm dfn.

Wave Activity

Note that this changed in July. Now reporting only the maximum displacement over 4 seconds (wh4) as changes over long periods were more affected by wind. The wh4_m5 is the median of the past 5 samples. Wave (specific) energy subjectively seems to be a more reliable indicator of conditions and is largely immune to wind-induced noise.

This shows the specific kinetic energy per second in J/(kg*s). Note that this is just the kinetic energy ignoring the mass of the buoy. Subjectively numbers at or below 3 are flat, below 4.5 are reasonably calm, and things start getting choppy above 4.5. By 10 they are quite unpleasent. This is calculated from the below graphs as the sum of the squares of the velocity (slope) divided by 16 (seconds). The advantage of specific kinetic energy is wind noise tends to cause a stretching of the data either high to low or low to high but doesn't dramatically affect the specific kinetic energy.

This shows the raw data points underlying the most recent 3 measurements. This is a graph of the measured buoy height over 16 seconds, measured at 16hz. The data is refreshed every couple minutes assuming the buoy is transmitting, right side up, the receiver hasn't crashed, and the software on the pi is still working:

These are reasonably accurate over shorter time periods and inspecting them can allow you to distinguish violent waves from random wind noise. The callibration looked spot on last time I compared it.

Power Status (approximate sun intensity):

This reflects the operating status of the buoy. The revised buoy is far more efficient and tends to charge the battery fully earlier in the day. This makes the solar cell output as indication of sun not work as well. But when the battery isn't fully charged, > 70ma is reasonably bright, > 120ma is full sun. The battery charge is determined by voltage and due to swings across the sense resistor when the current flow direction changes can jump above and below the true value. The lower the battery current the more accurate the charge % is. This is limited by the 13-bit ADC on the INA3221, still havn't been able to track down an INA233.

Data Quality / Known Issues