Skip to content
All work
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
Brownian Motion — Digitalized Tracking System

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

Interested in a build like this?

I take on instrumentation, embedded, and computational physics work. Let's talk about your measurement problem.

Gilang Pratama Putra Siswanto