Paparazzo: Automated Photo-Documentation of Algae Growth
Built an electro-mechanical imaging rig from scratch to automate and standardise time-based photo-documentation of algae cultures in well plates.
Overview
Paparazzo is an academic project that automates the photo-documentation of suspended algae cells growing in 24-well plates. A camera is moved in two dimensions over the plate by stepper motors and captures images over time, standardising a task that was previously manual. It doubled as a hands-on introduction to building electro-mechanical prototypes end to end.
Problem
Documenting algae growth across a 24-well plate over time by hand is tedious and inconsistent: framing, position, and timing vary between sessions, making it hard to compare images or track growth reliably.
Constraints
- Built from scratch from off-the-shelf hardware and construction elements
- Had to be operable standalone via a touch display, without a connected workstation
- Coordinating a single-board computer with a separate microcontroller for motion and imaging
Approach
Split responsibilities between a Raspberry Pi 4 and an Arduino Uno: the Pi runs a Tkinter GUI on a touch display, controls the camera directly, and drives the overall workflow, while the Arduino handles the stepper motors via TB6600 drivers. The interaction reduces to a simple contract between the two boards—"make a move" answered by "take a picture"—which the Pi orchestrates to raster the camera across the well plate and store images in a structured folder layout.
Key Decisions
Split control between a Raspberry Pi and an Arduino
Let the Pi handle the interface, camera, and orchestration while the Arduino handled precise real-time motor control.
- Drive the stepper motors directly from the Raspberry Pi GPIO
Reduce the board-to-board protocol to move/capture messages
A minimal contract kept the coordination between the two controllers simple and reliable.
Run a full GUI on a touch display for standalone operation
Made the device usable at the bench without a connected computer.
Tech Stack
- Raspberry Pi 4 Model B
- Arduino Uno Rev3
- Python 3.11 (Tkinter, picamera2, pyserial)
- arduino-cli (AccelStepper, RTClib)
- NEMA 17 stepper motors
- TB6600 stepper drivers
Result & Impact
Delivered a working device that captures standardised, repeatable time-series images of algae cultures without manual intervention, while serving as a full introduction to designing and building an electro-mechanical prototype from hardware up through software.
Learnings
- Building a device from scratch surfaces how much of the work is integration between hardware, firmware, and application layers
- A minimal, well-defined protocol between subsystems is easier to reason about and debug than a tightly coupled one
- Standardising the mechanics of image capture matters as much as the imaging itself for comparable results