Skip to content

Latest commit

 

History

127 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AquaGator: Autonomous Underwater Lake-Monitoring Robot

AquaGator team at dock test

An autonomous underwater robot built for lake water-quality monitoring. The AquaGator descends to programmed depths, holds position at each level while Atlas Scientific sensors capture water-quality readings (pH, dissolved oxygen, ORP, conductivity, temperature), then ascends, all without human intervention.

Allegheny College Department of Computer and Information Science research project, supervised by Janyl Jumadinova (2023 – present).

Architecture

graph LR
    A[Arduino Mega] -->|I2C| B[MS5837 Pressure Sensor]
    A -->|Serial / SoftwareSerial| C[Sabertooth Motor Controller]
    C --> D[Bilge Pump Thruster]
    E[Atlas Scientific EZO Boards] -->|USB Serial| F[Host Laptop]
    E --- G[pH Sensor]
    E --- H[DO Sensor]
    E --- I[ORP Sensor]
    E --- J[EC Sensor]
    E --- K[RTD Temp Sensor]
Loading

On-board (Arduino): Reads depth via the MS5837 pressure sensor, runs a state-machine to control vertical motion through the Sabertooth motor controller.

Dock-side (Laptop): Connects to the Atlas Scientific sensor box via USB to read water-quality data with Python scripts.

Repository Map

Directory Contents
src/robot-motion/working-codes/ Production Arduino sketches for depth-controlled missions
src/robot-motion/test_codes/ Experimental / debugging sketches
src/sensors/ Python scripts for reading Atlas Scientific sensors
docs/ Setup & operations manual, sensor documentation, internship report
images/ Project photos

Hardware

Component Description
Frame PVC pipe frame with blue pool-noodle floats for buoyancy
Thruster Bilge pump motor (vertical motion only)
Motor Controller Sabertooth motor driver
Microcontroller Arduino (in waterproof Pelican-style case)
Depth Sensor Blue Robotics MS5837-30BA (I2C, rated to 30 bar)
Water Quality Sensors Atlas Scientific pH, DO, ORP, EC, RTD (in separate sensor box with EZO carrier boards)
Power Battery pack (in waterproof enclosure)

Atlas Scientific sensor box with EZO carrier boards

Software Dependencies

Arduino Libraries

  • MS5837: Blue Robotics pressure sensor
  • SabertoothSimplified: Sabertooth motor controller
  • SoftwareSerial: built-in
  • Wire: built-in (I2C)

Python (for sensor scripts)

  • pyserial: pip install pyserial

Quick Start

Full setup and operations guide: docs/MANUAL.md

  1. Install the Arduino IDE and required libraries (see above)
  2. Connect the Arduino to your computer via USB
  3. Open src/robot-motion/working-codes/depth_do_motion_control/depth_do_motion_control.ino (the production sketch)
  4. Compile and upload to the Arduino
  5. Open the Serial Monitor at 9600 baud to observe the mission

Presentations & Reports

Contributors

This project has been developed over the past three years as part of ongoing undergraduate research in the Allegheny College Department of Computer and Information Science, under the supervision of Janyl Jumadinova.

Student Period Notes
Trang Hoang May 2023 – Nov 2024 2023, 2024 summer research
Pallas Cain May 2023 – Jul 2025 2023, 2024 summer research
Benedek Kaibas Sep 2024 – present 2025 summer research
Josephine Reiter Sep 2024 – present
Miguel Orti Vila Sep 2025 – present

License

This project was developed as part of undergraduate research at Allegheny College. Please contact the authors for usage terms.

About

Autonomous lake-monitoring robot with motion control, sensor integration, and plant detection.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages