System Architecture
A number of Cambits attributes follow
the design of the Cambits hardware and
software architecture:
Mechanical and electrical connections.
Each Cambits block is 40mm along at
least two of its three dimensions. We 3D
printed the chassis of each block, including sockets close to its corners designed to hold magnets; the magnets
are used to attach blocks to each other,
as well as to mechanically align them, as
in Figure 2a; the alignment is aided by
convex and concave bumps on the surface of the chassis. The polarities of the
magnets in each block are also chosen
such that it is not possible for the user to
attach two blocks that are otherwise incompatible. For instance, a lens block
cannot be directly attached to an actuator block. When two blocks are attached, a set of either four or six spring-loaded pins on one block (see Figure 2b)
is aligned and electrically connected to
contact pads on the other block. The
system uses USB 2.0 for the data signal
and I2C for the control signal.
Tree structure with bucket brigade.
Each Cambits block has three types of
pins for conveying power, data signals,
and control signals. The data signal
conveys image data from the sensor
block. The control signal conveys the
configuration data upstream and various commands (such as the actuator
block’s rotation parameters and the
flash’s strobing parameters) downstream.
These signals communicate through
a tree structure. The host device—the
root of the Cambits structure—provides
electrical power to all blocks in the configuration, detects the current configuration of the entire tree structure, and
controls all blocks within the tree. This
design ensures each block is able to
connect with multiple other blocks. Upstream is defined as the direction toward the host device and downstream
as the direction in which components
proceed forward from the host device
(see Figure 3).
The data signal flows upstream di-
rectly from each sensor block to the
host device. However, the control sig-
nals are passed from component to
component in bucket-brigade fashion.
Each block is able to communicate
through control signals with only the
blocks that are connected to it. When a
learning in which the modules can be
snapped together through a magnetic
interface to create circuits with vari-
ous functionalities.
4
Here, we present Cambits, a set of
physical blocks that can be used to build
a variety of cameras with different functionalities. Blocks include sensors, actuators, lenses, optical attachments,
and light sources, assembled with magnets without screws or cables. When
two blocks are attached, they are connected electrically through spring-loaded pins that carry power, data, and control signals. The host computer always
knows the current configuration and
automatically provides a menu of imaging functionalities from which the user
can choose. Cambits is a scalable system, allowing users to add new blocks
and computational photography algorithms to the current set.
Concept
Figure 1a shows the set of blocks that
make up Cambits. They come in a variety of colors, each indicating a specific
function: white for base, red for image
sensor, blue for flash, green for actuators and spacers, yellow for lenses, and
orange and purple for optical attachments. Figure 1b shows the host computer, which always knows the current
Cambits configuration, using a suite of
computational photography algorithms
to produce a variety of images. The system reflects a number of attributes:
Ease of assembly. The blocks are attached using magnets, and the configuration of blocks can be changed without
requiring a reboot of the hardware or
software;
Self-identification. The host computer can detect the system’s current configuration, information that is conveyed
to the user through 3D visualization and
a menu of functionalities it can perform;
Diverse functionality. Since there are
many types of blocks, many controllable by the user, a diverse set of camera
systems can be configured in which
each is able to produce a different type
of image; and
Scalability. The design of the system’s hardware and software architecture makes it inherently scalable so new
blocks and computational photography
algorithms are added readily to the existing set.
Cambits is
a scalable system,
allowing users
to add new blocks
and computational
photography
algorithms to
the existing set.
I
M
A
G
E
B
Y
A
L
E
X
A
N
D
E
R
B
E
R
G