Paparazzo: Automated Photo-Documentation of Algae Growth

Research & Development·2025·Academic project·2 min read

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

Reasoning:

Let the Pi handle the interface, camera, and orchestration while the Arduino handled precise real-time motor control.

Alternatives considered:
  • Drive the stepper motors directly from the Raspberry Pi GPIO

Reduce the board-to-board protocol to move/capture messages

Reasoning:

A minimal contract kept the coordination between the two controllers simple and reliable.

Run a full GUI on a touch display for standalone operation

Reasoning:

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