Final Project: Smart Aquarium

Project Overview

I'm a fish breeder, and one of the most important parts of the hobby is measuring water parameters. For my final project, I want to measure and monitor pH, nitrites, and/or temperature. It could also be cool to make an automatic feeder because I never trust the super complex ones you can buy online.

Development Process

Initial Design

I've updated this throughout the semester, but wanted to have a system that could "sit" on an aquarium (visible) and measure different parameters.

Initial design ideas

Initial design sketches and planning

Measurements

Measured the tank dimensions to figure out how the setup would sit on the frame.

Tank

Tank Dimensions

v1 Design

Figured out the approximate look of my design + form factor (a fish!).

Tank

CAD Design

Four Main Goals

Tank

OTC Components

Here are my notes on what I planned on using for components (edits: I ended up not using the RTC and just coding that in; the Uno was a backup in case the PCB didn't work; I ended up using a 5V battery instead of 9; and also forgot the put my temp sensor in this table).

Notes Notes

Components Contd

I had no idea how a Servo motor really worked and this was key to visualize for the waterwheel I would be making to dispense food..

Info about Servo Motors

Task Breakdown

Thinking back to my PM exposure in machine week, created this task list to approximate how I'd be spending my time (this was ultimately pretty inaccurate, but a good start).

Task List

3D Printing Begins

I started my prints for the two sides of the fish (see CAD above), and realized they'd be taking 6-7 hours each, so I didn't have much time for iteration.

3d printing

Shoutout Bobby for access to the science center printers!

3d printing done, still PCBing

At the same time, I was redoing my schematic (which, as mentioned in an earlier assignment, took me 5 hours...)

PCB design and 3d print

The Mountinng Clamp

I wanted to make this out of aluminum for the subtraction part of the assignment, but couldn't find the right kind of block or the tools to mill it, so I 3D printed instead.

Mounting Clamp design

Mounting clamp design for alumninum milling

3D printed clamp

3D printed mounting clamp

Pins

Realized the two fish sides needed some way to stick together, so 3D printed these pins. Also not shown - laser cut an acrylic screen for the OLED.

3D Printed Pins

Wiring

Woohoo! I already had my PCB done so it was time to wire. This was HARD and SO time consuming but luckily I did not fry anything and had lots of help from Anthony + Nick + Quentin with soldering + wiring the PCB. It looked great in the end.

PCB with wires and components

Uh Oh...

I had 3D printing the wrong dimensions for the mounting clamp, so Sam graciously help me make some adjustments (we melted + drill-sanded off the plastic of the tank to make it fit).

sam helping me

Final PCB

Here's the final PCB with the components and wiring! I ended up hot gluing the waterwheel to the Servo fan, which was not optimal, but at this point it was 5AM so I really needed something functional.

final PCB

Final Implementation

Here's what it all looked like in the end at Demo Day..

Tank with system

The completed smart aquarium

Fini

A photo with Prof. Gershenfeld at Demo Day, who skipped me during demos because he didn't think I'd finish in time (admittedly, neither did I!).

Girl and man next to fish tank

Results, Testing & Reflection!

I'm quite proud of how this turned out despite all my challenges, and getting super sick. I have a 3D printed shell, which includes a funnel that the food goes into before it enters the servo-controlled water wheel. A temperature probe pulls temperature (input) and the buzzer + light indicate whether it's too low or too high (output) with the code I wrote. The temperature is read out on an OLED that is protected from the water by a laser-cut piece of green acrylic. I mounted my custom PCB with nuts, bolts and spacers, and added pins for additional support with the mounting clamp. I used the XIAO ESP32C3 and it worked perfectly for this. I did a ton of testing and tuning to realize some of my soldering was off so I strengthened connects / carved them out with an X-Acto knife. I also added a bit of wiring for the OLED so that it fit into the space I made on the front of the fish form-factor. I'm really happy about my final project, and extremely grateful to Leo, Gail, Joe/Jeff from the REEF, Quentin, Nick, and especially Anthony for all their help throughout this entire process. I learned so much!

Future Improvements

Files

Skills Used

← Back to main page