← Explore in the portfolio

Embedded systems / Photography

ICM Buddy

Precise mechanics. Unexpected photographs. A camera-lens controller that makes creative movement repeatable.

My contribution
Hardware, firmware and interaction design
Context
University final-year project
Year
2022
  • C++
  • Arduino Nano
  • AccelStepper
  • TFT / EEPROM
  • Electronics
Original ICM Buddy prototype footage showing the lens-control mechanism in motion.

What I contributed

Designed and implemented the hardware and firmware prototype, including calibration, lens movement sequences and on-device controls.

What came out of it

A working mechanism with documented long-exposure photographs, schematics and reproducible firmware.

Giving a creative gesture a repeatable mechanism.

Moving a camera lens during a long exposure can turn a familiar scene into trails, rings and tunnels of light. The gesture is expressive, but repeating the same focus and zoom motion by hand is difficult. ICM Buddy was my final-year project at NTU: a way to give photographers deliberate control over that movement.

I started with little camera knowledge and learned the photographic problem alongside the electronics. The aim was to help both experienced and new photographers explore long exposures through preset movements and custom sequences.

From motors to a usable photographic tool.

Two stepper motors drive the focus and zoom rings. An Arduino Nano coordinates their movements with shutter timing, while a small TFT display and joystick provide controls on the device itself. Calibration establishes the permitted lens travel before a sequence starts.

My contribution connected the mechanism, circuit and firmware into a working prototype. Stored calibration and selectable patterns made it usable without a connected computer; the project documentation also includes the schematic and PCB design.

The constraint was inside the controller.

The ATmega microcontroller has limited program space and memory. Calibration, motor control, menus and custom movements all had to fit in that budget. I worked through the firmware to reduce its footprint while retaining the behaviour that made the device useful.

That constraint shaped the project as much as the physical mechanism did. A successful motion was only part of the problem: the controls also had to make setup understandable and protect the lens from movement beyond its calibrated range.

The result is visible in the photographs.

The completed prototype produced documented long-exposure images using focus, zoom and combined movements. The report shows the setup and photographic results, including Singapore architecture transformed through controlled lens movement.

This project taught me to treat firmware, hardware and the person operating them as one system. It remains a useful example of how a strict engineering constraint can create room for artistic exploration.