Arwing Prototypes

First Prototype

Before I could even think about things like satellite communication, motor, or servo control, I needed to learn how to use the sensors and make them work together cohesively. This was my introduction to parsing NMEA satellite data, as well as raw IMU data. My resources were limited, so when it came to selecting a microcontroller, I ended up going with the Node MCU dev. board (ESP8266). The project had no use for the onboard wifi, but it was my fastest available processor and had the largest amount of storage space. Since I knew the project would be expanding pretty dramatically, I wanted a lot of overhead for everything to come.

The prototype seen here is essentially a compass zip-tied to a breadboard. It featured a gyroscope, accelerometer, magnetometer, GPS module, and an OLED screen. I powered it with a portable USB phone charger and took it for frequent walks around the block to test two basic functions: Did it know where it was, and did it know which way it was pointing. Results were varied.

Navigation Challenges

I went down a pretty deep rabbit hole of trying to make various magnetometers work. Unfortunately, the affordable options available to me were horribly inaccurate. I soon learned that, even if I got them calibrated perfectly, I would still need to recalibrate once they were off my desk—let alone on the other side of the world.

Eventually, I realized the vessel didn’t need to know which way the bow was pointing every second. Instead, it just needed three key pieces of information: where it is, where it was, and where it needs to go. Past, present, and future positions. If those three points fell on a single straight line, the vessel was on course. That insight led me to simplify the system, relying on GPS “course over ground” to guide the way.

Slippy

I started with fundamental questions: Can I design something that floats? How much power do I need? How do the components of a boat come together? “Slippy” was the first step in the long and ongoing process of developing Seafox. Designing the hull and mounts was an excellent way to learn how to use Fusion 360 and 3D printing. It featured a hobby-grade brushed DC motor, a deck-mounted potentiometer for throttle control, a master power switch, and a forward battery compartment for balancing. The hull was printed from TPU printer filament, and the deck was made of PLA. The driveshaft was tilted down by 8 degrees to ensure the entire propeller was submerged during operation.

Peppy

On the outside, Peppy was a larger (and cooler) version of Slippy—a TPU hull and PLA top deck designed in Fusion 360. Both parts needed to be divided into separate components due to print-area limitations. Internally, however, Peppy took a quantum leap forward (but still nowhere near Arwing’s capabilities).

I upgraded to a brushless dive motor, radio control, and an Arduino-based control algorithm. Ever since I heard of Mahi Two’s Rudder Failure, I’ve had a strong aversion to using one of my own. Instead, I installed brushed motors as port and starboard motors, allowing peppy to maneuver using differential thrust. Whereas Slippy was confined to bathtub tests, Peppy got a taste of lake water. Between its weight, odd hydrodynamics, and weak drive system, Peppy wasn’t exactly “peppy”, but it yielded vital data for the following stages of development.

Mechbeth

As I poured more technology and effort into Arwing, the stakes of water-based testing became nerve-rackingly high. A misinterpreted instruction—like hitting full throttle during a sharp turn—could easily capsize the boat and destroy everything onboard. To lower the risks, I took a step back from boats and designed a land-based testing platform instead. That’s how “Mechbeth” was born.

I designed the chassis from scratch to be the first testing platform for Arwing. You can see in some of the photos that the original prototype, still on a breadboard, was simply zip-tied to the top of the vehicle before I eventually designed and printed my own custom PCB. Arwing’s bluetooth communication programming was still extremely limited, so the PCB still included an OLED screen for feedback during field tests. It was simply set up to receive target coordinates from my phone, as well as three base-speed selections: Crawl, cruise, and burn.

I was still attempting to emulate the boat’s behavior by using treads as differential thrust. However, the design was fraught with… learning experiences. The geometry of the treads made turns taxing on the drive and power system and the gearing of the DC motors I had on hand resulted in pretty sluggish forward motion. This slow speed revealed a flaw in my “course over ground” approach to navigation. If the vehicle didn’t move enough between position updates, its calculations were thrown off by the slightest inaccuracies.

Overall, I’ll always view Mechbeth as a brief detour on the way to Seafox.

Falco

Falco was a culmination of previous lessons and future experiments. I went shopping for hulls and landed on the Bancroft DragonForce 65. It was lightweight and, best of all, it was designed for sailing. This meant that it had a large hole straight down its center for mounting a mast and keel. That allowed me to rig whatever I wanted to the hull without cutting, drilling, or compromising the hull’s integrity and waterproofing.

This was the first water-based testing platform to be outfitted with Arwing and have actual autonomous capability, although the system has been been upgraded dramatically since its days on Falco. The scaled-down version of the system can be seen on the green PCB mounted on the aft top deck. I left it exposed for easy troubleshooting during field tests, and simply wrapped it in a sandwich bag when it was in the water.

The platform saw numerous iterations. My crusade against rudders was alive-and-well, so the early design featured a weight-swaying turn system. The battery and a 100 gram weight were mounted high above the hull on a hinge and servo. The idea being: an eventual ocean-fairing boat would have a significantly larger battery, and no need for added dead-weight. The battery would also be contained in the hull, eliminating the need for any fragile moving parts being exposed to turbulent seas.

Unfortunately, Falco wasn’t a long-range test platform. That meant it needed to make tight turns under manual control in small bodies of water, not slow banking arcs. Eventually, I surrendered my anti-rudder campaign and installed the traditional steering mechanism.

Titania

Designing vehicles 100% from scratch was starting to feel like a fun but inefficient use of my time, so this time around I bought a cheap RC car on Amazon, and gutted it, and installed new components suitable for testing Arwing. I swapped out the original brushed DC motor for a brushless. Since the BLDC didn’t fit in the original motor compartment, I mounted it within the battery compartment and belted it to the car’s original transmission. I was surprised to find the original steering controller was just another DC motor instead of a servo, so that needed to be replaced along with a custom adapter for the mechanism.

During early tests, I found that the system was rebooting about three seconds into driving. As it turned out, this was because the servo was drawing too much power from the microcontroller. Adding a 100 microfarad capacitor solved that issue.