A lightweight, open-source toolkit for real-time microfluidics experiments. It uses computer vision to track particles and includes an API for controlling various types of pumps (pressure, syringe, peristaltic). Still early days; built in spare time.
- Real-time particle detection using computer vision
- Live video and image processing
- Simple API for controlling pumps
- Written in Python, with future plans for GPU/C++ support
Microfluidics gear is expensive and often locked behind proprietary systems. This project is my attempt to build something more accessible, flexible, and hackable: no special hardware or vendor lock-in required.
This repo is for anyone trying to do microfluidics without a massive budget or a PhD in lab automation.
- Tracks particles in microfluidic setups (videos, streams, etc.)
- Analyses motion and basic metrics in real time
That’s it. It’s meant to be useful without getting in your way.
Work in progress—actively developed when time allows. Right now it works with:
- Local image/video files
- Live streams (e.g., from an ESP32 camera)
- Basic CV pipelines (which are being tweaked constantly)
git
Python 3.10
- opencv-python
4.9.0.80
- opencv-python
git clone --recursive [email protected]:finorr/auto-fluidics.git
import cv2
import particle_detector as pdt
proc = pdt.ParticleImageProcessor()
win_name = 'Networked Stream'
cv2.namedWindow(win_name, cv2.WINDOW_NORMAL)
while cv2.waitKey(1) != 27:
proc.process_stream(stream_ip='192.168.1.34')
if proc.image['processed'] is not None:
cv2.imshow(win_name, proc.image['processed'])
else:
cv2.imshow(win_name, proc.image['sample'])
cv2.destroyWindow(win_name)
Currently Python-only. When/if C++ support gets added (for GPU processing), this section will be updated.
Unit tests coming soon. For now, test by running and watching for obvious errors.
Still being written. In the meantime, feel free to poke around or open an issue if anything’s unclear.
If you get stuck or have questions, feel free to open a GitHub issue or contact me on LinkedIn.
MIT — see LICENSE for details.