By Robert Dioso, James Mackaman, Connor Maines, Jordan Tick



Our project automatically and dynamically regulates temperature, light, and carbon dioxide within an aquarium to ensure optimal plant growth along with maintaining fish health.

To do so, it uses a sensor system to measure and track the aquarium’s state and then regulates the system according to specified parameters using various actuators.


Freshwater aquariums with live plants, both with and without fish, are a fun hobby, but often inaccessible due to the technical difficulty required to maintain an environment that promotes the health and growth of plants while maintaining a safe environment in which fish can live. Current methods, for CO2 in particular, require a work-intensive process involving measurements with chemical test strips combined with manual tuning and regular monitoring to maintain ideal values.

Our system lowers the barriers to entry for those interested in owning planted aquariums. Using our system, the user will need less technical knowledge about aquarium upkeep as well as freeing them from this work-intensive process by automating each step according to given parameters.



The Seneye device tracks pH changes in the aquarium, leaks, heater issues, and lighting issues. It lets the user view the data through its client interface, but iti differs from our product in that it only monitors the aquarium rather than automatically reacting to changes within it.

Maoi Devices

Maoi is a device which moves within the aquarium, keeping the glass clean as well as letting the user view the aquarium through a camera. This device adds an element of automation to aquarium ownership, but it differs in that it does not monitor or regulate the properties in which we are interested.

Timer Systems

There are various timer systems which allow aquarium owners to control lighting, heat, and even CO2 on schedule. This differs from our product in that it is an approximation method while our product monitors these values and controls them based on measurements rather than a timer.

Use Cases

Our system will be used to simplify the managing of aquarium light, heat, and CO2 concentration. It is intended to be used not only make the hobby more accessible to those who would otherwise be put off by the difficulty of managing an aquascape, but also to be a valuable automated tool for the excperienced aquarium keeper as well by reducing the tedium involved with aquarium mantinence.


Functional Requirements

Website / Server

  • Communicate setup parameters between the website and the firmware using AWS IoT.
  • Collect and store sensor data from the device to the cloud database.
  • Provide a convenient graphical interface for viewing sensor data.
  • Ensure that the values for the aquarium properties are within the safe range for the fish in the aquarium.

Firmware / Sensors

  • Measure the concentration of aqueous CO2 with an accuracy of ±5 ppm.
  • Measure the temperature of the water with an accuracy of 3 °F.
  • Modify the light, temperature, and CO2 in the aquarium using actuators.

Non-functional Requirements

  • Affordability: The total cost of the system must not exceed a representative budget for a hobbyist aquarium.
  • Timeliness: Communication between the website and the device must result in success or failure with a 5 second latency for satisfactory usability.
  • Reliability: The system must be able to endure connectivity errors or restarts in order to ensure that external errors do not harm the health of the fish.
  • Safety: The presence of water in the system means we must ensure safety of the user with proper water proofing and separation of components and water.


Our system architecture has three components. The core component is the TI CC3200 Network MCU which monitors the aquarium state and regulates tempurature, light, and CO2. The secondary component is the server which pushes system parameters to the MCU and receives sensor data from the MCU using the AWS IoT service. The final component is the web application which pushes desired system setup parameters to the server as well as retrieves historical and new sensor data from the server.

Firmware interaction diagram between sensors, actuators, and the cloud.

Server interaction diagram between cloud services and its external connections, the web application and firmware.

The state diagram for the firmware's control system.



  1. K-30 10,000ppm CO2 Sensor
  2. Measurement Range: 0 – 10,000 ppm
  3. Accuracy: ± 30 ppm ± 3 % of measured value
  4. Rate of Measurement: 2 seconds, 20 seconds diffusion time; 2 seconds @ .5 l/min tube gas flow
  5. ($85)
  1. SimpleLink Wi-Fi CC3200 LaunchPad
  2. Vendor: Texas Instruments
  3. Processor Speed: 80 MHz Max
  4. Memory: 256KB
  5. Wi-Fi Network Processor Subsystem
  6. Supports I2C and UART
  1. General Purpose Relays
  2. Coil Voltage: 5 VDC
  3. Contact Current Rating: 1 A
  4. Switching Voltage: 120 VAC, 24 VDC
  1. AC/DC Power Module
  2. Input Voltage: 85 VAC to 305 VAC, 120 VDC to 430 VDC
  3. Output Voltage: 5 V
  4. Output Current: 200 mA


  1. Server
  2. Amazon EC2 Server (
  3. Amazon DynamoDB Instance (
  1. React
  2. Javascript UI Framework
  1. Materialize CSS
  2. Google Material Design based UI
  1. Texas Instruments Code Composer Studio & CC3200 SDK
  1. AWS Embedded Device IoT SDK
  2. Library enabling communcation between TI devices and AWS IoT


  1. AWS IoT
  2. MQTT protocol wrapper for communication between browser and embedded device

About the Team

Connor Maines

Front-End Software

Jordan Tick

Backend Software

James Mackaman


Robert Dioso