Posts

DroneNode Modules and Loosely Coupled Pub/Sub Messaging

Image
  Each boat (or other device) is based on a custom ESP32-based motherboard running our DroneNode firmware.  The firmware exposes a number of sensors, actuators, telemetry interfaces and control modules that can be configured for any given boat (device) through a simple config file.  To keep software modules loosely coupled, they communicate using a pub/sub messaging model.  This post describes both of these features in more detail. See the DroneLink Architecture - "Boat Brains" article for more detail on the overall system including the central server and web management interface. DroneNode Firmware Architecture The DroneNode firmware architecture is grouped into 5 logical blocks, as illustrated in the following diagram: Hardware - The physical interfaces exposed by the ESP32, including onboard Flash storage (LittleFS filesystem) and any peripheral devices connected to the ESP IO (digital/analog IO, I2C, SPI, Serial) Done System - Low-level functionality responsi...

Magnetically Coupled Waterproof Servo Prototype

Image
  A critical component of our Microtransat boat(s) is the actuators for rudder, wing sail, etc.  On the hunt for a rugged, waterproof and flexible solution I've been working on a prototype that uses a magnetically coupled output stage to keep the delicate motor, gearbox, and electronics completely waterproof.

DroneNode Motherboards - Evolution from v1 to v5

Image
Each boat (or other device) is based on a custom ESP32-based motherboard running our DroneNode firmware.   The motherboard exposes the ESP32 IO interfaces (digital/analog IO, serial, SPI) and includes an 8-channel I2C expander to make connecting peripheral devices extremely easy.  It has also evolved to include onboard GPS, RFM69 radio, QMC5883L compass, status Neopixel and micro-SD card reader as of v4. The same DroneNode firmware runs on all versions of the motherboard, maintaining backward compatibility and auto-detects hardware version based on an I2C scan of onboard devices. See DroneLink Architecture for how the motherboards fit into the overall DroneLink ecosystem. Version 1 - Simple beginnings Our first attempt at a motherboard to support early test boats (like the Paddles ) - calling it a motherboard is a stretch, given it was really just a breakout board for an ESP32 DevKit, an I2C multiplexer, and a bunch of connectors for expansion ports / I2C. Its simplicity ...

DroneLink Architecture - "Boat Brains"

Image
  From the moment we started discussing the Microtransat project, it was clear we would need a fairly sophisticated software/electronics stack to support the development process - what has evolved into our DroneLink platform.  Our initial requirements were for it to be flexible/extensible, support a fleet of test boats (traditional sail, wing sail or motorised) and help us monitor/learn as we went along.  It should also be easy to use by the non-developers on the team (i.e. the Joshes). A couple of years on and DroneLink has evolved into a competent platform for building not just autonomous boats, but a variety of autonomous devices - it underpins and manages our fleet of test boats, base stations, trackers and anything else we've needed as the project progresses. The diagram below illustrates the main components, explained in more detail below: Boat (Drone) Control Each boat (or other device) is based on a custom ESP32-based motherboard running our DroneNode firmware....

Test sail 3rd Jan 2023

Image
Another cold, dark, windy, and very wet evening at the lake.  Following the learnings from Sunday's sail, where the wind vane was causing us problems, we reconfigured EasySailor to use the Wing's compass and tail setting to infer the wind direction.  The hope was this would give us a more robust wind heading than the small wind vane on the hull.   We also added an RC receiver into the hull so we could take manual control if needed, hoping to avoid another rescue mission in the dinghy.   Things started off pretty well, we're getting much faster at setting up and checking compass calibrations before dropping the hull in the water.  As the wind was a strong South Westerly, we launched into the wind with a simple back-and-forth waypoint mission just offshore.  This was in case of issues, at least the boat would be blown back toward us! EasySailor steamed off toward the first waypoint and then immediately turned NE toward the second, reaching it soon a...

First Test Boats - Paddle 1, 2 and 3

Image
After talking about making autonomous boats for a number of years and finally having all the skills together at the same time, we needed a test boat to program and drive about. Much like Space X, rapid iterations were the best path. For us, that's lots of hot glue and cable ties. The goal was to keep the test boat as simple, fast, and cheap as possible to build, so we settled on a paddle boat design with an independent drive to each paddle so it would drive like a tank. Original concept  Version 1 I threw together a few circles on CAD and sliced them out of a sheet of expanded polystyrene (see CNC Hot-Wire post for details). Having cut the hull out of foam, we glued a lunch box to it to hold the electronics, then bolted a length of aluminum right-angle to it to hold the motors/paddles.   The paddle wheels were 3D printed and bolted to the motor shafts with little shaft adapters.  For the electronics, we made a custom PCB with an ESP32, I2C multiplexer, 5v, and 3v3 p...

celestia's boat

Image
  Hello, fellow feathered friends and human companions! My name is celestia and I am a pet cockatiel with a dream. You see, I have recently learned about the Microtransat Challenge, a competition in which boats must navigate across the Atlantic Ocean using only solar and wind power. And I, dear reader, have decided that I am going to build a boat and compete in the challenge! Now, I know what you're thinking - a cockatiel building a boat? Preposterous! But never underestimate the determination and engineering prowess of a bird with a goal. And so, with my trusty human companion by my side, I set out to design and construct the ultimate transatlantic vessel. burb math As I set to work on my boat, I knew I needed to come up with a design that was both functional and aesthetically pleasing. So, I set to work sketching out my ideas on a piece of paper. So join me on this journey, dear reader, as I recount the trials and triumphs of building a boat fit for the high seas (or at least the...