Autoquarium is a smart automation and monitoring system for freshwater aquariums that I developed alongside a team of fellow engineers as part of our EECS 473 senior design course at the University of Michigan. Our goal was to create a device that would simplify fish care by combining all the essential tasks (feeding, lighting, and water quality monitoring) into one compact, affordable system.
We designed Autoquarium to be a modular, low-cost solution that mounts directly onto standard aquariums and connects to a web app for remote control and monitoring. It automatically dispenses food, tracks water quality with temperature and pH sensors, simulates a natural day/night lighting cycle with LEDs, and even streams a live video feed of the tank.
This project gave me the opportunity to work across the full stack, from building out the embedded firmware and MQTT-based communication, to designing the web interface and the 3D-modeled enclosure. We engineered Autoquarium to feel like a polished, ready-for-market product, and it was incredibly rewarding to see it come together as a complete, functioning system by the end of the semester.
Hardware & Electronics
Custom PCB: Designed to host the ESP32, sensor interfaces, servo motor, LEDs, and LCD, with minimal wiring required.
Sensors: Monitors temperature, pH, and food levels using analog sensors, with calibrated values processed and stored in non-volatile memory.
Software & Cloud Integration
RTOS-Based Embedded Firmware: Runs on an ESP32 using FreeRTOS to manage concurrent tasks like sensor polling, feeding control, and network communication.
MQTT Communication: Sensor data and commands are transmitted through HiveMQ, enabling real-time interaction between the device and the cloud-based web app.
Web & Mobile Application: A responsive interface allows users to monitor sensor values, feed fish, adjust lighting, and receive push notifications remotely.
Camera Streaming: A stretch goal realized via ESP32-CAM, allowing users to live stream their aquarium from anywhere using a tunneled video feed.
Enclosure & User Experience
Modular Design: The main unit (Autoquarium Central Sensor Unit) is compact and mountable on various tank sizes.
3D-Printed Case: Custom enclosure with a polished finish, weatherproofed for aquarium conditions.
Desktop CLI Tool: Simplifies first-time setup (Wi-Fi, notification API, timezone) via serial connection.
Packaging & Presentation: Designed with consumer usability in mind, including mock retail packaging and startup documentation.