You are browsing as a guest. Sign up (or log in) to start making projects!

Use of Predicted Onshore Winds to Increase Autonomous Water Quality Drone Battery Efficiency in Barnegat Bay

  • 9 Devlogs
  • 42 Total hours

An open‑source, year‑round system that uses a suite of machine‑learning and mathematical models, plus a custom data‑collecting buoy, to predict hazardous onshore winds and compare them against National Weather Service forecasts and established sea‑breeze formulas

Open comments for this post

10h 46m 13s logged

PARTS!!! and coding…AND ASSEMBLY!!!

Oh Oh Boy have I had a lot of fun haha.

Overall

I started assembling my parts, more unboxing, but I also started testing individual components with the picos. I took the code I had created already and modified it in seperate files to only test one sensor at a time. I have had a jolly good time. I did most of my work over laspe so take a look! My Lapse Account

Soldering

I was unable to get this on camera but I did most of y soldering for the MicroSD card. It was my first time but fairly simple, I just connected a few Dupont connectors into the holes in the board (for lack of a more technical term). I still have more soldering to do but I will try to get it on camera next time!

Pico Troubles

I have never used a microcontroller before so this was a crazy thing to try and learn. I spent a lot of time trying to mess around with libraries and find them on the internet.

Battery Drivers

The UPS that I have for the Pico has drivers and a program along it to collect battery info…but it only works on actual linux. It connects through I2C however, so I just reverse engineered it for the pico! I am still working on it however.

(I also spent like 2 hours trying to figure out my own diagram and plug the MicroSD card board in…)

0
0
7
Open comments for this post

3h 1m logged

PARTS!!!

Hey guys! Long time no see. I have been waiting on parts :tw_sweat_smile: but I finally got them! (All but the LoRa Radio but it is on it’s way.

Parts I got:

  • Raspberry Pi Pico 2x
  • 18650 3200 mAh batteries (Have to send these back cause they sent the wrong type 😭)
  • NEO-6M GPS Module
  • DS18B20 Temperature Sensor
  • 4.33” x 2.36” 5V 200mA Solar Panels x4
  • Waveshare DS3231 RTC
  • Pico UPS (Uninterruptible Power Supply)
  • DC5521 Male cable Solar Panel Charging Module TP4056
  • Micro USB to USB
    -C1N5819 Schottky Diodes
    -MicroSD Card Module
  • MicroSd Card x2

I am missing the Waveshare SX1262 LoRa Node Module. I can start building everything else in the meantime and start testing out code.

If you guys would like links to my parts, either leave a comment or wait until I update the github.

Here are some photos, I was too busy being excited and taking inventory to get any 😅.

0
0
2
Open comments for this post

7h 29m 43s logged

Weather Underground Scraper

Hola! I swear I’m not going insane…

What is this?

Weather Underground is a place to get very local and high detailed weather data. It is a network of 250,000+ personal weather stations (PWS) used to map weather world wide. In my previous project, I used weather underground stations in my local area of Barnegat Bay. Most of them actually came from the non-proffit Save Barnegat Bay’s Mesonet of stations. Huge shoutout to them and Dr. Michael Folmer, “a dedicated meteorologist and forecaster for the NWS Ocean Prediction Center, Weather Prediction Center, Tropical Analysis, and the Forecast Branch of the National Hurricane Center.” This year I will continue using data from their mesonet

Soooo why are you scraping

It is a bit of a sore topic for me, but Weather Underground discontinued their public API a few years back. This led me to collecting EVERY. SINGLE. DATA POINT by hand. I typed them all up in a spread sheet. All 40,000+ of them. Lovely. This year I do not plan on wasting that much time and instead I created a webscraper using the beautifulsoup and requests libraries (as well as some others)

Features?

  • Uses a config file for the list of weather station ids, API key for the PostgreSQL website, and error catching variables
  • Scans HTML of the weather stations and picks out the data (for all variables not just what I need. This makes it so you can use it as well)
  • Converts all imperial measurements into metric
  • timestamps in UTC for the API to then turn back into ETC
  • Send it to the API

Future:

This scraper will run every hour to collect the data from the weather stations. Scraping will begin once the buoy has started collecting data as well.

PostgreSQL Update:

  • Added another SQL table for the Weather Underground data
  • Added functions for it

Links:

0
0
2
Open comments for this post

5h 19m 36s logged

PostgreSQL API Backend for Buoy

Hey guys! Let me tell you what I have been up to:

PostgreSQL:

PostgreSQL is an back-end database that will hold the data collected from the buoy. In the future it will also hold data collected from local Weather Underground weather stations using web scraping.

API Backend:

A FastAPI back-end was coded in python (running in my home lab) to use a PostgreSQL server running on a separate Raspberry Pi 5.

My homelab may or may not be at 95% storage used ;-;

Functions

  • Ability to use HTTP commands (most) to send, delete, and view data.
  • Communication with the PostgreSQL database
  • Use of a “api-key” to only allow the buoy to POST data
0
0
3
Open comments for this post

1h 48m 5s logged

Buoy!

Plan

This buoy will be built with:

  • Raspberry Pi Pico 2x
  • 18650 3200 mAh batteries
  • NEO-6M GPS Module
  • DS18B20 Temperature Sensor
  • 4.33” x 2.36” 5V 200mA Solar Panels x4
  • Waveshare SX1262 LoRa Node Module x2
  • Waveshare DS3231 RTC
  • Pico UPS (Uninterruptible Power Supply)
  • DC5521 Male cable 
  • Solar Panel Charging Module TP4056
  • Micro USB to USB-C
  • 1N5819 Schottky Diodes
  • MicroSD Card Module
  • MicroSd Card x2

Function:

The buoy will be anchored right next to a marina where every hour, it will colect the water temperature (among other parameters), record the data to a local SD card, and send the data over LoRa to the reveiver pico at the marina to send the data over WiFI to a API on my homelab server. The website to predict wind speed will pull the latest weather points from weather stations nearby as well as these buoy points to predict the wind speed based on the approach choosen (which model)

Buoy Hardware Plan

  • Every hour, the Pico is reset by the real-time clock module (RTC) to restart the program.
  • Upon restart, the program will set the next wake-up alarm and note the data collection number.
  • Water temperature, GPS data, buoy temperature, sequence, (data collection number), and battery voltage will be collected.
  • The data is then saved to an onboard MicroSD card before being sent by LoRa radio at 915 MHz (North America Standard)
  • The buoy will be put in a plastic mooring buoy.
  • All electronics will be in an IP68 (or greater) rated box with epoxied holes for wires inside of the buoy.
  • The top of the buoy will be sliced at the seam with a 3D printed replacement (Brightly colored) that is flat and has slots on the inside for the solar panels to attach. 
  • A LoRa antenna will come out the top.
  • It is epoxied close with a designed opening latch using gaskets on the top to provide access in case of emergency.
  • Water Temperature Probe will come out of a drilled hole in the bottom of the buoy and be epoxied close.
  • Local Township Dive Team Logo will be put on the buoy to deter anyone from interacting with it.

Code status:

Most of the buoy and receiver code is coded, however it is untested as parts haven’t arrived yet.

Parts? (WHEN):

I am still waiting on parts ;-;
Once I receive them I will be able to assemble the parts and start testing my code.
Then, I will 3D design a top case to go on top of the buoy

0
0
0
Open comments for this post

4h 52m 30s logged

Hi!

Time to do a proper introduction:

Sorry I do not enjoy logging a lot, in fact thats why my github readme’s are done last and take weeks haha! But seriously. What is this long title all about? Well my name is Krupam and this is my passion. Wind. Specially Onshore winds. Onshore winds are also known as a “sea breeze”. They are winds that come from the ocean to the land. Caused by a temperature gradient by the land and the sea. Land heats up a lot faster than water, further increasing this gradient, leading to more onshore winds. They pose a dangerous threat to small watercrafts especially on the bay (lagoonal estuary) where I live. They provide a threat to boaters, tourists, passengers, or any one on the water. In fact, local boaters have become so attuned to their dangers, that they will intentionally go out of their way to avoid them. However, these winds are almost impossible to predict. Big weather forecasts, such as the National Weather Service (NWS) and National Oceanic and Atmospheric Administration (NOAA) can’t predict these winds on a local small level. Thus I set out on a mission to predict these winds myself using machine learning, mathematical models, and gathering my own data using local weather stations, buoys, and local boaters. Last year I was able to get accuracy down to 0.5 mph for wind speeds, ~1.0 mph for gusts, around 26° off for wind direction, and ~13% off for if it is an onshore wind or not. This project is running at https://wind.krupamlab.com on my homelab. You can take a look at the old project at https://github.com/Krupamc/Research-2026-LSTM. The project also has python as well as a .exe version available through the releases tab on GitHub.

This project:

Now that’s a lot to take in, but I’m going to make it so much worse haha! Now these systems are cool and all, but they could get so much more accurate. I want month by month representation for the entire year; not just the summer months. A huge part of science, especially data science, is that data has to be available throughout the entire year. I have personal experience with this. One of the buoys I was using to collect data; switched off without any indication. This really limited my project and I will be fixing this problem head one. I want to have predictions that are accurate for the safety of these boaters. But to make it more interesting this year, I will be using several machine learning (like LSTM), mathematical models (like Linear Regression, wind formulas, probalisitc models (e.g. 80% of winds above 10 mph), as well as compare against the NWS models. Then depending on which one of these approaches is most energy efficient and accurate, I will expand that approach to cover other weather parameters and be used as a input for a AI model to determine where a water drone should go in my bay to increase battery efficiency. Now what the hell is this drone I can hear you ask? Well I am cooperating with a local underwater search and rescue team that is creating a water drone that will go on the bay and collect water and weather quality parameters. This drone will be autonomous and creating this model will allow it to increase power efficiently.

My Buoy Buddy - MBB

Last year, one of the public buoys I depended on suddenly went offline and wiped out a huge chunk of my training data. It made my realize that having control to reliable data is crucial. Many organizations collect this data but do not share. If I really wanted to protect boaters out on the bay, I would need a way to procure my own data. That’s why I am building the MBB or the My Buoy Buddy.
MBB is a small, low-power buoy that floats in the bay and logs, water temperature and more! This data is sent to my homelab to predict. I want to sell this pre-made buoy to wind-based boaters (even nationaly!) together that will combine with my open-source program to create local predictions running on their own hardware.

0
0
1
Open comments for this post

4h 56m 11s logged

I have done a lot of work…

Hi! My name is Krupam and this is the first post I will be making for this project. This is a documentation of my research project of using different type of prediction algorithms and approaches for Onshore winds on the coast. This is a continuation of my previous research project at https://github.com/Krupamc/Research-2026-LSTM.
Throughout my time so far I have, coded a lot of stuff, spent a lot of time in the terminal, and cried a bit haha!

0
0
2

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…