The SolarSurfer project started because we were looking for something cool to do. Being surfers and engineers, the project was a perfect fit.
When we first started, we had no trouble finding the right microcontroller, sensors, GPS, even a SATCOM link, but we couldn’t find a good thruster. Everything we could find was very expensive or would corrode during the long trip. That launched us on a quest to design an affordable, high-performing thruster, which we did. You can check it out at the BlueRobotics website. The SolarSurfer will showcase the thruster’s performance and endurance.
The project is open-source and we'd love your input and contribution! The software is available on our Github page and licensed under the GPL license. We leverage a lot of inspiration from other open source projects like ArduPlane and ArduCopter.
Wherever possible, we used open-source hardware. The primary computer is an APM2.6 autopilot from 3D Robotics, which is open source. There are two custom circuit boards on the surfer: a BLDC motor monitor that we custom designed to measure thruster RPM, current, and voltage, and a Power Monitor that measures power from solar panel to battery, battery to load. Both boards are open-source and also available on Github.
The mechanical design of the SolarSurfer is also open-source. The design is documented through the drawings, photos, and component lists on this page.
The thrusters, although not open-source, are well-documented and CAD models are available for anyone who is interested. Check them out on BlueRobotics' website.
The SolarSurfer is a connected device. Even though it will be out in the open ocean for months at a time, it keeps constant contact with the internet. A RockBlock Iridium satellite radio sends messages every 5-30 minutes. The messages are received by our web server and stored in a database. We've built an awesome web app to visualize the SolarSurfer's trip in real-time.
The online interface is built around the SolarSurferAPI, which stores raw data and makes it available to anyone in JSON format. The API is well documented on our Github page if you want to check it out!
The SolarSurfer's connection to the internet is absolutely critical to its functionality. The SolarSurfer has a number of sensors that are constantly collecting data and sending it back to shore. With multiple SolarSurfers, a lot of interesting data could be collected and accessed via the web. It could be used for weather predictions, oceanographic data, etc.
In addition to send data back to shore, we have the ability to send messages to the SolarSurfer while it is in the middle of the ocean. That means we can update its waypoint path and change other settings remotely!
The online interface (which will be public in the near future) shows a live map view of the current trip. There are also tabs with data plots, raw data, commanding (which is not publicly accessible), and simulations. We plan to expand on the interface to show more data in the cleanest format possible.
Why is it cool?
Glad you asked. We think this is a really cool project for a whole bunch of reasons:
- Ocean crossing, data gathering, autonomous robot!? That's awesome.
- Multidisciplinary. Like any robot project, this one required mechanical, electrical, and software skills to build.
- It has the potential to do incredible things in the future:
- Collect ocean data that is not measurable with satellites like pH, subsurface temperatures, currents at depth, wave height, wave period, air temperature, air pressure, etc.
- Collect biological data such as marine mammal sounds, population movements, etc.
- Collect ocean data at a massive scale with many vessels deployed simultaneously
It could do all this at a fraction of the cost of manned vessels.
We're not the first to do this by any means. People have been sending autonomous vehicles into the ocean for years. Several have made it all...Read more »