TAD
  • HOME
  • EXPERIENCE
    GlobalFoundries Tesla - Manufacturing Tesla - Software
  • PROJECTS
    Baja SAE IQT Labs
  • ACADEMICS
  • CONTACT

IQT Labs — Autonomous Boat Senior Design Project

IQT Labs logo

Founded and funded by the CIA, In-Q-Tel is a venture capital firm interested in promoting technological development that may benefit the US defense or intelligence communities. IQT Labs is a department within the larger organization that takes a hands-on approach to understanding the private sector and open-source technologies by "trying it themselves."

  • Microprocessor Programming and Networking
  • Custom PCB Design
  • Kalman Filtering
  • Non-Holonomic Control

Autonomous Loitering Platform

IQT tasked my senior design group (myself, Owen Mitchell, Iris Renteria, and Gen Mehra) with building an autonomous, open-source vessel meeting certain functional requirements. They also requested we design and build three iterations, as their main goal was to understand the open-source ecosystem and engineering difficulties encountered, rather than actually use a final product.

Animated clip of the autonomous boat on the water

Requirements

  • Operate autonomously for at least 6 weeks
  • Maintain C3 (Command, Control, and Communication) via Iridium Satellite network
  • Support a payload of 40 lbs, 4 cubic ft, and 40W constant supply
  • Survive rough sea states
  • Only use off-the-shelf parts (purchasable online without a quote)
Requirements diagram for the autonomous vessel

Responsibilities

I was solely responsible for all low-power electronics and computer design and assembly, as well as all navigation and control software. I also assisted in assembly of V1 and V2, as well as welding the entirety of V3.

Animated clip of boat assembly and testing

Design Features - Hardware

My design featured an AT91SAM3X8E 32-bit ARM core running the primary software capabilities for the vehicle. There were also 2 M9N GPS units, connected to independent nRF52840-based microcontrollers, with integrated LSM9DS1 IMUs for redundant pose estimation. The main board also communicated with a RockBLOCK+ for access to the Iridium satellite network and a local radio transceiver for communications when deploying or docking. I also designed the boat with 8 additional sensor hookups, to be integrated as the end user desired.

The design ethos, centered around off-the-shelf purchasing, used all components in the Arduino form factor. Any type of multi-threading and redundancy was simply handled by adding another microcontroller and communicating over an I2C or UART connection. IQT loved this approach for its simplicity and intuitive usage, once the communication protocols were established. To streamline the assembly process, I learned how to design custom PCBs, which were primarily just sockets for Arduinos, and had them manufactured.

Custom PCB design for the boat electronics

Design Features - Software

The software contained extensive mode control logic, sensor filtering, navigation and propulsion algorithms, and communication protocols.

An extended Kalman filter handled the estimation of vehicle position and orientation from the IMU and GPS. This navigation protocol fed a course-over-ground vector into the control algorithm, which was compared against an intermediate-waypoint target, as determined by the guidance algorithm. This then forwarded an error value into a PI controller with gain scheduling and integral term resets, to help direct the boat in the correct direction.

In the communication protocols, all vehicle state values were simplified to standardized 32-byte strings with byte-level encoding. These messages were designed to be concise and not subject to floating-point errors by using fixed-point interpretations. All messages across I2C, UART, and satellite communication lines followed these conventions.

The full source is available on GitHub: tadeguzman/IQT_FINAL_VERSION_COMMENTED — senior design project autonomous boat and electronics.

Two-point travel navigation plot

Testing and Results

Since we made three iterations, there was not enough time to test on a full 6-week deployment, so representative testing was conducted instead.

This included testing my navigation and control software over 1400 miles of road driving, a day-long field test on the water with the sponsor, and weeks of consecutive runtime on a benchtop.

In the end, IQT Labs was very happy, and my team was awarded the best senior design project by a panel of ASME judges (and we all got As in the class!)

Field test of the autonomous boat with the sponsor
Convocation award ceremony
... Just a bit of senior spring autonomous boat surfing
TAD

© 2026 Theodore DeGuzman