Cambits: A Reconfigurable Camera System

Cambits is a set of physical blocks that can be used to build a wide variety of cameras with different functionalities. The blocks include sensors, actuators, lenses, optical attachments and light sources. Cambits has been designed to have the following attributes:

  • Ease of Assembly: The blocks are attached using magnets, without any screws or cables. The configuration of blocks can be changed without requiring a reboot of the hardware or the software.
  • Self-identification: The host computer can detect the current configuration of the system. This information is conveyed to the user via a 3D visualization and a menu of functionalities that it can perform.
  • Diverse functionality: Since there are many different types of blocks and many of them can be controlled, a diverse set of camera systems can be configured where each one produces a different type of image.
  • Scalability: Due to the architecture of the hardware and the software of the system, it is inherently scalable. New blocks and computational photography algorithms can be easily added to the existing set.

We have used Cambits to demonstrate a wide range of computational photography methods including HDR, wide angle, panoramic, collage, kaleidoscopic, post-focus, light field and stereo imaging. It can also be used to configure a microscope.

This research was done at the Computer Vision Laboratory at Columbia University. Makoto Odamaki was a Visiting Scientist from Ricoh Corporation, Japan. The authors thank William Miller for designing and 3D printing the exteriors of the Cambits blocks, Wentao Jiang for his contribution to the user interface, Daniel Sims for editing the demonstration video and Anne Fleming for sourcing and purchasing various components. Divyansh Agarwal, Ethan Benjamin, Jihan Li, Shengyi Lin and Avinash Nair implemented several of the computational photography algorithms.


"Cambits: A Reconfigurable Camera System,"
M. Odamaki and S. K. Nayar,
Technical Report, Department of Computer Science, Columbia University, New York,
Feb. 2016.
[PDF] [bib] [©]

The following images were captured using different configurations of Cambits. Please click on the thumbnails to view high resolution versions of the images.

  HDR Imaging:

A basic camera system, including a sensor block and a lens block, can be configured to capture a set of images with different exposures, compute an HDR image and then tone map it.

  Scene Collage:

The above camera can be manually moved around to capture a set of images that are fused to obtain a scene collage.

  Light Field Imaging:

The lens array attachment with 7 ball lenses is used to capture a 4D light field image of the scene.

  Kaleidoscope Imaging:

The teleidoscope attachment produces a kaleidoscope image. The attachment includes a ball lens in the front a set of three planar mirrors. When attached to the front of a camera lens block, it produces an image that includes multiple rotated copies of the scene.


The focal stack lens block includes a linear actuator that physically sweeps the lens to capture a set of images that correspond to different focus settings. This focal stack is processed using a refocusing algorithm to generate an interactive image where the user can simply click on any part of the image to bring it into focus.

  Stereo Panorama:

A rotary actuator can be inserted between the Cambits base and the sensor block to scan a panorama of the scene. Left and right strips can be taken from the same sequence of images to generate a stereo panorama for virtual reality.

  Depth from Stereo:

Cambits can be configured as a stereo vision system. The left and right video streams from this system are processed to produce a gray coded depth video of the scene.


Cambits can also be used for microscopy. The microscope attachment includes an objective lens, a mechanism to adjust the height of the sample slide to bring the sample into focus, and an LED light to bright-field illuminate the sample. This image shows a close-up of a live ant.



  Cambits Video:

This video describes the Cambits prototype and how it can be used to construct various types of computational cameras.

  HDR Imaging:

In this mode, the camera captures a set of images with different exposures. It then computes an HDR image and tone maps it.

  Scene Collage:

A basic camera configuration can be picked up and moved around to capture multiple images that are fused together to obtain a scene collage.

  Light Field Imaging and Kaleidoscopy:

Various optical attachments can be connected to the lens. This video shows a lens array attachment used to capture a light field, and a teleidoscope attachment used to capture a kaleidoscope image.


This video shows the use of a lens driven by a linear actuator. This lens allows the camera to capture a focal stack of the scene. A refocusing algorithm is used to control the depth of field of the scene after it is captured.


In this video a rotary actuator is inserted between the base and sensor blocks. This system can scan a panorama of the scene.

  Depth from Stereo:

Cambits can be configured as a stereo vision system. The left and right video streams from this system are processed to produce a gray coded depth video of the scene.


Cambits also includes a microscope attachment with an objective lens and a mechanism to adjust the height of the sample slide to bring the sample into focus.



  Cambits Data Set:

We have made Cambitsí mechanical and electronic design files, firmware, and image processing algorithms publicly available for use by researchers. This data set includes files necessary for the 3D printing of the external case, the firmware loaded on the MCU controller boards and the code used to implement the various computational imaging algorithms. A readme file is included with details on how to use the data.


Computational Imaging

Bigshot Digital Camera Kit