P-02archivedInstrumentation · 2024
Brownian Motion — Digitalized Tracking System
An ESP32-CAM and OpenCV-based system for digitizing Brownian motion experiments through automated particle tracking and Python-assisted data analysis.
- Role
- Developer · Computer Vision & Data Acquisition
- Timeframe
- Oct 2024 - Nov 2024
- Domain
- Instrumentation
- Status
- archived
- Camera
- ESP32-CAM
- Optics
- 60x converging lens
- Interface
- Python 3.8.10
Overview
This project digitizes Brownian motion observations by combining an ESP32-CAM imaging setup with OpenCV-based object tracking in Python.
The workflow turns captured video into structured motion data, then pushes it into plotting and analysis assets for report-ready interpretation.
The Challenge
Brownian motion is noisy, microscopic, and easy to misread by eye. The real problem was making the capture process stable enough for automated tracking without turning the lab setup into a fragile toy.
Approach
- 01Built the capture pipeline around ESP32-CAM footage and the repo’s dedicated program folder.
- 02Used OpenCV to detect and follow moving particles frame by frame.
- 03Organized the codebase into acquisition and tooling layers for cleaner maintenance.
- 04Prepared plotted output and sample data assets from the `DATA/DATA PLOTTING` structure.
Outcomes
- Produced a working digital tracking workflow for Brownian motion experiments.
- Generated analysis-ready plots and sample output files from the measurement pipeline.
- Kept the implementation compact with a Python plus C++ codebase.
Stack
Hardware
- ESP32-CAM
- 60x converging lens
- Camera module
Vision
- OpenCV
- Python 3.8.10
- Frame tracking
Data
- Plotting assets
- Excel
- Experimental logging