Project Ladon

An autonomous boat of unusual size

Similar projects worth following
This project started as a plan to build an autonomous boat capable of circumnavigating the globe. After a good look at what an enormous project that really is, we've scaled back to a more manageable revolving goal of building ever more capable autonomous boats.

Our current boat is a modified 18' two person kayak. It's a brutal hack, but it works. Its propulsion is solar-electric, but currently only battery power is fully implemented. We have solar panels and a mounting frame, but the solar panel and charger wiring is currently a future project.

Since we were able to prove that our boat, power, and steering work as intended, our current project is refactoring the code (see our Github repository for more information) so manual mode is easier to use and we get waypoint navigation up and running.

We're also working on sail propulsion for trans-oceanic and round the world travel in the future.


Please help support Project Ladon on Patreon!

Our long term goal is to build the first autonomous vessel to circumnavigate the Earth. In order to reduce this ambitious goal to manageable size, we're building progressively more capable boats. The first one is our current solar-electric boat, TSV Disputed Right of Way.

TSV Disputed Right of Way (TDRoW, for short)

TDRoW is a heavily modified 18' two-person kayak. It was the cheapest one on Craigslist in the Seattle area when we decided to take that approach. We built up the hatches with foam and fiberglass to take flat hatches, and we added substantial internal reinforcement to support solar panels, batteries, and an electric motor.

Propulsion & Power

Propulsion is provided by a refurbished and modified Minn-Kota trolling motor that draws 30A @ 12V. Power is provided by a pair of 31-950 lead-acid truck batteries. The Minn-Kota has a rather odd speed and direction control system that consists of making and breaking connections between the power source and the four wires (red, black, yellow, and white). Instead of figuring out how the wiring is supposed to work and using a brush motor driver, we use a box full of automotive relays to mimic the behavior of the stock equipment.

Battery power is provided by a pair of big lead-acid truck batteries. They have the advantage of being simple and durable -- no special charging equipment or protection circuitry is required.

Three 12V solar panels and a simple charge controller round out the power system for long range cruising.


The control system is a two-tiered system, with a Beaglebone for high level processing and an Arduino Mega for real time processing. Navigation data comes from a GPS and a 9-DoF IMU for compass heading. Currently, the Arduino attempts to steer a given course provided by either the Beaglebone or the shore operator. There is also a manual steering mode for fine maneuvering and troubleshooting.

Prior to the current version, our control system was based around MAVLink and QGroundControl... which are not so good. Now, we're working on a REST interface. It's going a bit better, and it gives us the flexibility to operate with a partial system, which we lacked before.

Steering is provided by a waterproof servo and reduction gear from Servo City. Currently, it has a 7:1 reduction gear on it. This is more appropriate for off-shore operations, so we're going to cut it back to 2:1 for greater control authority during in-shore operations.


The core sensors are a 9-axis IMU for compass heading and a GPS for position. We are currently in the process of adding stereoscopic depth cameras and an AIS receiver for obstacle and ship avoidance.


Communication is provided by a 900 MHz ethernet bridge for ship to shore communications and a 2.4 GHz wifi router for onboard networking. This is because waterproof network cabling is generally kind of a pain in the ass and using wifi onboard makes it trivial to add sensors and so on in the future.

Other Gear

There's also a horn (to warn operators when it's ready to start) and status lights to indicate the state of the Beaglebone and the Arduino. At Toorcamp, we added grab ropes along the side ease shore handling and launching. They were immensely effective; we should have added them years ago. A ballast bulb (really a length of 2" PVC stuffed with rebar) is strapped to the bottom of the boat to keep things upright.

Hull Improvements

Building on an existing hull really was not the best way to go. The next hull, assuming we can get funding, will be a version of the advanced sharpie hull frequently used by the late Phil Bolger. An advanced sharpie hull is nice because it's reasonably efficient when thin and very easy to build.

Sail Power

Since the only way to make an autonomous circumnavigation is via the Southern Ocean, I don't think that solar-electric is going to work for the high-latitude travel, or will result...

Read more »

Adobe Portable Document Format - 9.32 MB - 06/15/2016 at 07:41

Preview Download

JPEG Image - 4.48 MB - 05/29/2016 at 05:00

Preview Download

JPEG Image - 3.79 MB - 05/29/2016 at 05:00

Preview Download

JPEG Image - 4.07 MB - 05/29/2016 at 04:59

Preview Download

JPEG Image - 3.48 MB - 05/29/2016 at 04:59

Preview Download

JPEG Image - 3.42 MB - 05/29/2016 at 04:58

Preview Download

JPEG Image - 2.39 MB - 05/29/2016 at 04:57

Preview Download

JPEG Image - 2.36 MB - 05/29/2016 at 04:56

Preview Download

JPEG Image - 2.35 MB - 05/29/2016 at 04:56

Preview Download

JPEG Image - 2.26 MB - 05/29/2016 at 04:55

Preview Download

View all 31 files

  • Software Update

    Pierce Nichols01/25/2017 at 16:31 0 comments

    I just realized we haven't posted an update in a while, but I promise we aren't dead -- we've been working on software. Check out the network graph on our github (all the recent action is on the new-hardware branch):

    We had a solid in-water test in October that verified the new electronics work well and that we can drive the boat around by remote control and that it will steer to a course on its own.

    Most of the recent action has been filling out the various boat states and writing unit tests for everything. Just writing the tests has kicked up lots of bugs that have been duly fixed and make me far more confident of our code than I was before.

    Along with the other changes, we've just acquired a Beaglebone Green Wireless as our latest brain. This has built-in wireless (replacing the HDMI) and a built-in four port USB hub (replacing the Ethernet). Since we're not currently using either of the deleted peripherals, this is nothing but win. We now have an on-board port free to plug in the AIS and three spare ports for other instrument or harddrives. On the around the world boat, we're planning to plug in three external harddrives and arrange them in a RAID array for storing mission logs and photos.

    However, I discovered a little wrinkle. The BBGW uses the eMMC pins for the wifi module. This is a problem because in a bout of thick-headedness I double-booked those pins to drive the throttle relays. That means that I can't use it on this hardware revision. Another kick in the ass to get the next revision going.

    The software to the point where we are ready to do some waypoint navigation testing. The gating item right now is getting a day that works for the whole team and when we have access to a powered chase boat. Paddling along in a kayak isn't going to cut it for the waypoint following, especially in the middle of winter. Falling into Elliot Bay would be a very, very bad thing at this time of year. The second weekend in February is looking good.

  • More Hardware and Software Progress

    Pierce Nichols09/14/2016 at 05:55 0 comments

    First, Seattle Mini Maker Faire is this coming weekend at EMP (Sep 17/18). We'll be showing off the Hackerboat outside near the monorail -- please come by and take a look at the boat in person!

    Second, we created a Patreon account to help raise money for the boat. Please donate!

    I finally got a chance to assemble the power distribution control board assembled. I haven't mounted the switches, since I am going to solder them to fit once the whole thing is mounted in the dry box. Here's a picture of the two boards together:

    The distribution board manages the question of whether the boat is armed or disarmed with a latching relay, which is the orange bit on the left of the image. Most of the rest of the circuitry on the board is a pair of timer circuits to debounce the emergency stop button and to require the operator to hold down the arm button for a substantial amount of time before the boat is armed. This board also cuts the motor power as soon as the emergency stop button is engaged, which should make things a bit safer.

    The software is coming along -- have a look at our Github for the latest progress. It's mostly a slog at this point, but the end is in sight, at least for the main code. I still need to write proper unit and functional tests so we can assure ourselves that it a) works and b) we can change up the code as necessary in the future. In other words, all the benefits of having solid unit and integration tests.

    We'll probably do another launch the weekend after Makerfaire to test the RC and compass subsystems, as well as gather some more video for a proper Patreon video.

  • New Hardware

    Pierce Nichols08/28/2016 at 17:39 0 comments

    I've got the new control board mostly assembled. USPS mis-delivered my stencil (my regular mail carrier was on vacation, and her sub was not too bright), so I did this with Nick's solder paste dispenser. It really is a magical tool, but you do need to make sure you have extra dispensing needles on hand and your solder paste is in good shape, otherwise you get clogging problems and that sucks.

  • Toorcamp 2016 Video and Update

    Pierce Nichols08/26/2016 at 14:36 0 comments

    Alex put together an awesome video of my talk at Toorcamp 2016, combined with some video of our launches this summer.

    I also wrote a bit about the major hardware overhaul that we've been working on over at the Hackerboat blog.

    Please come see us at the Seattle Mini MakerFaire, Sep 17-18 at Seattle Center. I will also be at XOXO Fest down in Portland the weekend before. If you are going to be there, ping me on the festival Slack team and say hi!

  • 24 July 2016 Launch and next steps

    Pierce Nichols08/11/2016 at 03:11 0 comments

    We got back in the water on July 24th, and it was our best test yet. We got the boat steering straight and we got enough data to figure out a speed/current draw comparison which will enable us to plan longer missions. We even returned to the dock under power! You can see all of our tests at Don Armeni overlaid here:

    The green line is our latest test. I marked our old shore station site and our new one out on the point. However, we consistently lost our ship to shore link at a bit less than a quarter of a mile and had to be towed back into range by the safety boat. This isn't really enough for any of the serious testing we want to do, so it's time to rework things.

    Our current electronics are getting a bit long in the tooth, and it's becoming increasingly clear that having both the Arduino and the Beaglebone is making things more complex than they have to be. Therefore, we've redesigned a pure-BBB version of the hardware, and we're starting to rework the software to match it. You can see our work to date on our new hardware branch.

    Beyond the deletion of the Arduino, there are two other major architectural changes. First, we're modifying the boat to call a control server that serves out the interface rather than serving the interface itself. The biggest benefit of this is that we don't have to figure out how to set up a cell phone or satellite link to run a local server. The boat can then phone in on a schedule. This gets us much closer to an architecture suitable for open ocean work. In the short term, this means we can use a portable cell hotspot for our ship to shore work.

    Second, we're going to use COTS R/C gear for our in-shore control work rather than the long-range communications. Many modern R/C controllers support something called S.BUS, which transmits the control signals from the receiver as a serial stream (at 100 kbps 8E2, just to be weird) instead of as a series of separate PWM signals. This makes the interface that much easier. The Turnigy 9XR Pro plus an S.BUUS compatible transmitter/receiver pair plus a battery cost only $140, and the software is open to boot, so this should work well for us.

    In addition, we're planning to store waypoints and paths directly in KML format and maintain them using Github. This has the added advantage of providing a tamper-evident record of our location and waypoints, which is good for autonomous sailing competitions. There's a pile of stuff to implement for the new hardware, and we could really use some help writing unit tests and implementing various classes. If you are interested, take a look at the unimplemented headers in our new hardware branch and grab one to implement.

  • Maps and Preparation for the Next Launch

    Pierce Nichols07/16/2016 at 17:55 0 comments

    I wrote a quick gawk script to parse the GPS log file and turn it into a KML. The orange line on this map is our launch last October and the much longer yellow line is last month's launch.

    As you can see, our steering is not locked down, and that's because we're still controlling it from the command line. While this is all nice and hackery, it's no good for precision steering. A longer blog post on software/hardware architecture is on my priority list but seems to keep falling behind working on getting the software working.

    We had a GoPro strapped to the antenna mast pointed at the boat during the last launch; I'm going to see if I can put that up on YouTube RSN.

    Our plan had been to launch this weekend, but we had a couple of problems. First, one of our core team members is recovering from a nasty cold. Second, the splines on the servo output of our steering gear stripped. The brass spur gear definitely stripped and the steel output splines on the servo don't look great either. I'm ordering replacement parts for both so we can try again next weekend.

    We're also working on designing a launch cart so we don't have to manually haul the boat down the launch ramp. It's not going to be anything fancy -- just a way to attach four HarborFreight wheels to a frame that will hold the boat and not collapse. There will be pictures when we're finished with it.

    Once we have the software nailed down to at the least the point where we can do the JS control and basic waypoint navigation, we will pull the trigger on our control hardware update.

  • 25 Jun 2016 Launch

    Pierce Nichols06/27/2016 at 01:41 0 comments

    3ric shot some video from his drone. More update later.

  • Media Roundup

    Pierce Nichols06/19/2016 at 00:52 0 comments

    Our trips to MakerFaire and Toorcamp has gotten us a bit of media coverage.

    Hackaday's interviewed me at MakerFaire.

    Adafruit did a nice video roundup on Toorcamp. Hackerboat starts at 1:33:

    And finally, TWiT interviewed me for their San Mateo MakerFaire 2016 coverage. Hackerboat coverage starts at 23:30, and I can't seem to embed it.

  • Hackerboat at Toorcamp 2016

    Pierce Nichols06/16/2016 at 06:05 0 comments

    Toorcamp 2016 was awesome, as always. Many thanks to the whole awesome crew that puts it on, and to Doe Bay for hosting it.

    First, a quick overview -- we put the boat in the water and it remained upright. However, we had a bad WiFi dongle so we were not able to do much more with the boat. I gave a talk about the boat on Saturday afternoon.

    Doe Bay was the best location yet for the best Toorcamp yet. We set up the Hackerboat work area/boat storage down near the Doe Bay store, right by the water. Great view, but a little exposed to the wind. Just about everyone came by that area of the camp, since it was also right next to the Social District of the camp.

    I got there first, on Wednesday and got the boat off the truck and set up on shore with the help of some nice folks at camp.

    The new software wasn't quite ready for Toorcamp. I always have visions of hacking on awesome shit at Toorcamp, but in the words of Rocky Squirrel, that trick never works. There's too much to see, too many people to talk to, and too much beer to drink. The only substantial thing I got done was creating the slides for my talk on Saturday.

    Jeremy, Alex, Wim, and I got together to discuss what we could do to get the boat in the water on Saturday morning. We discussed rolling back to the software we used last October. However, we realized that the REST interface we used for the Arduino gave us the opportunity to control the boat by SSHing into the Beaglebone and hand-typing commands to the Arduino from there. Command-line robots for the win, or something like that. Very hackery, and enough to let us get some data on motor performance and tune the steering loop constants.

    My talk went really well -- I think I held the audience well and got across our goals and where we are in the project. Frank Heidt of Leviathan Security was kind enough to offer a thousand dollars of matching funds, which helped us raise money at Toorcamp -- we left with $1350 we didn't have before, which is going to be a huge help in our near future work. Many thanks to everyone who donated!

    We considered putting the boat in the water after closing remarks. However, given the wedding and approaching darkness, we decided to put it off until Sunday. This gave me some time to nail down the procedure for issuing commands via terminal window and fix a wiring error introduced when I 'fixed' the servo wiring the day before. Once that fix was confirmed, the critical hardware was all ready to go. The horn and status lights were not working, but we decided we could do without them.

    On Sunday morning, we were able to corral a substantial number of volunteers to help carry the boat down to the beach and put it in the water. Alex volunteered to pull chase duty in Jeremy's inflatable kayak. When we powered up the boat, the entire network came to life and things looked great for a good test.

    Pavel was kind enough to loan us an extra HT for communication between the shore and the chase boat. We quickly discovered the the microphone on Jeremy's HT had failed, and Pavel loaned us a handset to use with Jeremy's HT. As soon as we had the HTs working, the wifi dongle that connects the Beaglebone to the radio box failed. We didn't have a spare on hand, so this was the end of test for the day. We've already acquired some better quality wifi dongles to test in its place.

    On the positive side, we confirmed that the boat is stable even without the ballast bulb. The rocks on the launching beach managed to break the straps holding it on. While the boat was a little bit tippier without it, it's not in danger of tipping over. This appears to confirm that a big part of our stability problems at the last Toorcamp were due to poor battery retention.

    The only reason we're not getting back in the water this weekend is because it's Father's Day on Sunday. Our current plan is to prep for launch this Friday night (25 Jun) and launch the following day from the...

    Read more »

  • Back from Toorcamp

    Pierce Nichols06/14/2016 at 22:26 0 comments

    We're back from Toorcamp! We got the boat into the water, but were thwarted by a dead WiFi dongle. We'll be back in the water the week after next, and a more complete Toorcamp recap will be coming today or tomorrow. Thanks to everyone who donated, and to Frank Heidt for matching funds.

    Slides from my talk can be found here.

View all 18 project logs

Enjoy this project?



Phil G wrote 06/29/2016 at 07:38 point

hey dude! I saw you out on Alki recently while I was launching my (formerly autonomous) jet ski. I have a fair bit of experience creating systems like this, and built a small fleet of hive aware 16 inch watercraft for "research"purposes. I spoke briefly to one of the dudes launching- you guys should totally use Mission Planner and a pixhawk, once you get it nice and tuned, you could circumnavigate the planet within the next six months. I spotted a few reliability issues regarding power, direction and locomotion that I'm sure you're aware of already, and I wish you guys the best of luck!

  Are you sure? yes | no

Pierce Nichols wrote 07/16/2016 at 16:29 point

That sounds awesome, do you have anything about the project up on the web? Most of our current problems are due to incomplete software, much of which we've greatly improved in the past couple of weeks. 

I'm not a fan of MAVLink based stuff. I am looking at ROS these days, because there is so much available in the way of navigation, sensors, and analysis tools available to go with it. It will probably come in through the nav door this fall and winter. 

We were planning to launch again today, but a sick team member and a broken part put an end to that. :(

  Are you sure? yes | no

physiphile wrote 06/18/2016 at 16:32 point

I've been designing something similar but in a submarine. I think it would take a lot less power if you went under the water. I would keep it under 3 cu.ft for power/weight reasons and durability.

  Are you sure? yes | no

Pierce Nichols wrote 06/20/2016 at 02:32 point

It might use less power, but it also has less access to power under the water. :) There's also issues with communications. The most successful autonomous submersible I'm familiar with, SeaGlider, surfaces regularly to handle both issues. 

  Are you sure? yes | no

physiphile wrote 06/20/2016 at 17:24 point

Yup so you could have it rise to the surface to send/receive data but most of the travel would be dead reckoning to get to the next communication point.

  Are you sure? yes | no

Pierce Nichols wrote 05/31/2016 at 20:49 point

I find it interesting and slightly weird that most autonomous boats use Bermuda rigs with cloth sails. The luffing boundary condition (and related failure modes, such as falling into irons) in particular strikes me as borrowing trouble. 

  Are you sure? yes | no

physiphile wrote 06/20/2016 at 17:29 point

The durability goes down with size. Keeping a small tight package is the way to go if you don't want the sea to rip it apart. Don't need fancy sensors, just good algorithms and solid communication.

  Are you sure? yes | no

Ashley wrote 05/28/2016 at 17:51 point

hi all

  Are you sure? yes | no

Pierce Nichols wrote 05/28/2016 at 17:52 point

Thank you; that looks like a really interesting thesis. 

  Are you sure? yes | no

Jack Wells wrote 05/26/2016 at 14:45 point

Do you guys have a plan for getting data back when the boat is in the ocean? Or is it "fire and forget" where you hope it turns up at the otherside. Obviously GSM will handle shorline in some areas. I ask because we're working on a project to make use of the iridium satellite network. Maybe you could check out Rockblock/Rockseven for an off the shelf solution. Major downside for your application is the iridium modem uses a fair wack of power. 

  Are you sure? yes | no

Pierce Nichols wrote 05/26/2016 at 16:16 point

Yes -- we'll probably have both satcom and HF. We've decided to push a decision on how exactly to do it until closer to when we are ready to go. There's a fair amount of activity in the satcom industry these days, so it makes sense to wait and see what's available... and more importantly, who might be willing to give us hardware and/or bandwidth for free. 

Power consumption is less of an issue than it might first appear, as long as you can boot up the satcom quickly. The duty cycle can then be set to whatever the power budget will support. If we have both shortwave and satcom, we can cue the satcom via HF when we want to make contact out of the normal sequence. HF listening is a pretty low-power endeavor, so that should work well.

  Are you sure? yes | no

silvio biasiol wrote 04/14/2016 at 20:30 point

It's a shame you didn't continue it! If you change your mind or need some help with coding and suggestions please contact me :) I'm working on an autonomous boat too :)

  Are you sure? yes | no

Pierce Nichols wrote 04/14/2016 at 20:34 point

Hackerboat is definitely a continuing project! Most of the recent action has been on our github repository. We're debugging software so we can put it back in the water ASAP. We're also going to give it a decent paintjob this weekend. 

I suck at blogging; I'm going to try to be a bit better about posting updates... starting tomorrow. :)

  Are you sure? yes | no

silvio biasiol wrote 04/15/2016 at 07:34 point

Cool! Can't wait to see that! :D

  Are you sure? yes | no

Pierce Nichols wrote 11/22/2015 at 07:23 point

There's more recent history and details that I need to add, but not tonight because it's late.

  Are you sure? yes | no

borazslo wrote 04/11/2016 at 17:07 point

It is never too late to add those details. :)

  Are you sure? yes | no

Bobby wrote 11/22/2015 at 07:11 point

Super cool! Can't wait to see more on this!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates