The United Nations estimates that 400 million tons of plastic are produced annually leading to 4.83 trillion microplastic (MP) particles floating in the ocean. When ingested by humans, MPs cause inflammation, endocrine disruption, and DNA damage. MicroMola is a semi-autonomous floating near-surface robot designed to reduce microplastic density and support ocean health monitoring efforts by agencies like the EPA and Orange County Water Board. The main objective of the robot is to reduce the microplastic density in a body of water with minimal maintenance. The key impact is filtration of MPs as MicroMola possesses the potential to help reduce the risk of MPs to human health and ocean ecosystems. During fall quarter, the initial design of the MicroMola was completed by determining a bill of materials, calculating the necessary power budget, and discussing the protocols for communication. In the following Winter Quarter, the objectives achieved were: completing a working control code and communication structure; finalizing CAD designs and circuit designs; assembling the MicroMola systems; and finally testing to determine effectiveness of the final design. In a preliminary power test MicroMola is deployable for 13 days, with a deployment range of 140 meters, and working filtration of 150 micro-meter MPs.
Hardware Used
Throughout the design iterations of the MicroMola the following hardware components were determined to be essential to support the functions of microplastic filtering, water sampling, and communication.
- Solid core wire— receiving element of the receiving antenna
- ESP32 Mini (x2) — control and communication
- Adafruit PA1616S GPS — location data for retrieval and wave height
- ETFE 6V 2W Solar Panel — supplement battery power
- 8.4V 22W Brushless Motor — waterflow for filtering and testing
- 100 um stainless steel filter — microplastic removal
- Adafruit APDS9960 RGB Sensor — analysis of water health testing strips
- 3.7V 10050 mAh LiPo Battery — power sensors, controllers, and motor
- Adafruit BQ24074 BMS — manages load current and battery charging with solar panel for safety
- 470KOhm resistor (x4) — two voltage dividers for internally monitoring battery level
Communication: GPS, ESP-32 Transmission Antenna
Power:
- Solar Panel, LiPo, BMS, Battery, Solar panel to power regulator adapter,
- Power Regulator for battery-panel
- Buck Converter
MicroMola’s power system consists of the following: two 3.7V 10050 mAh LiPo Battery to power sensors, controllers, and a peristaltic pump. The power system uses a microcontroller, voltage meter, GPS module, and a water pump all connected to a 3.3V power rail. The power rail is regulated by a buck converter that lowers the battery voltage to 3.3V regardless of current battery voltage. The voltage meter is made of two resistors and an analog-to-digital converter to monitor battery level so the subsystems can support a normal and low-power mode where all peripherals are turned off. In the event the battery falls from a fully-charged 4.2 V to 3.2 V, the microcontroller will enter low-power so the solar panel can charge the battery to above the 3.2V level. By current power estimates low-power mode should only occur on an order of days, but due to the power drain of the filtration pump the lower power mode is needed to support persistent GPS data.
Software Used
To support the sensors and microcontroller units, MicroMola has applied the following software throughout its development. During the design phase, Solidworks (CAD) was used to model the upper and lower hulls along with any internal components required to support water filtration and water-quality systems of the Mola. These components were later fabricated using 3D printing.
MicroMola and the receiver are controlled by an Espressif ESP32-C3 board, a single core RISC-V microcontroller, selected due to its low cost and low power consumption. MicroMola’s primary communication requirement meant a board with built-in WiFi integration was needed to facilitate cross communication between the Mola and receiver. The ESP ecosystem was also selected for its extensive library support. Most notably the ESP-NOW library supports peer-to-peer communication via MAC address which cuts down on additional hardware like a WiFi router. ESP-NOW v2.0 protocol is implemented because of performance which supports nearly instantaneous transmission speeds averaging around 2 Mbps. MicroMola has an extremely small packet size of 208 bits, meaning critical geolocation data can be sent and updated continuously throughout the deployment. Current power testing suggests that MicroMola will be able to support communication at a rate of 12-20 times per minute. As the Mola has no motor functions, accurately tracking the position and acceleration of the Mola in variable environments such as marinas and oceans is a key requirement for successful operation.
To read input from the GPS and color sensors, MicroMola and receiver ESP32-C3s were flashed with C++ code via ArduinoIDE. The Adafruit libraries for the PA1616S GPS and APDS9960 Color and Gesture sensor were imported to efficiently utilize the hardware and retrieve relevant data. Final packet design was built around the data output by the PA1616S and APDS9960 libraries.
The MicroMola ecosystem also includes a Server entity which is hosted in the cloud through an Amazon Web Service (AWS) EC2 instance. The Server contains a MySQL database and a public-facing web application which as of March 12th, 2026, is still undergoing development. A custom REST application program interface (API) was built with Node.js v22.0.0.0, a runtime for Javascript applications, to facilitate the transference of data between the Receiver and the Server’s database. The software development phase utilized Git as the primary version control system to allow synchronization of the Mola’s source code between multiple members. MicroMola is an open source project and its source code can be accessed via Github.
Mola & Receiver, Server
- ESP-NOW v2.0
- C++23
- Node.js 22.0.0
- Arduino IDE 2.3.7
- SolidWorks Student Edition 2025 SP5.0
Overall Project Objectives
During the design phase of the project the purpose of MicroMola has shifted from being a device dedicated to microplastic removal to one that also monitors ocean
health-the following are the overall project objectives:
-
Develop a semi-autonomous, near-surface robot
capable of deployment with minimal human
intervention -
Design self-contained system with minimal
environmental impact -
Implement continuous, unattended ocean health
monitoring across California coastal
environments -
Perform onboard chemical analysis of water
samples using testing strips and RGB sensors
• Establish dependable communication for remote
data transmission -
Achieve self-sustained operation through solar
power system
Achieved Objectives
MicroMola ultimately achieved the following
objectives:
-
Develop a semi-autonomous, near-surface robot
capable of deployment with minimal human
intervention -
Design self-contained system with minimal
environmental impact -
Establish dependable communication for remote
data transmission -
Achieve self-sustained operation through solar
power system
Unachieved Objectives
The following objectives are still in progress or unattainable by the end of Winter Quarter:
-
Implement continuous, unattended ocean health
monitoring across California coastal
environments -
Perform onboard chemical analysis of water
samples using testing strips and RGB sensors -
Build the RGB database, create firmware for
operating water testing module, write software
to interpret RGB sensors’ output, and integrate
with motor control of carousel
Many of the unattainable goals listed above are related to the water sampling use case. Originally an overall project objective was to use RGB strips to test water quality in accordance to the CA Clean Beaches Program. Unfortunately, the team lacked experience in liquids and mechanical design to implement a working subsystem that tested water quality. Due to an unforeseen issue with microcontroller storage and budget constraints, the ability to do onboard processing of RGB results was pivoted towards allowing the server side to shoulder the computational burden.
