Mixels: Fabricating Interfaces using Programmable Magnetic
Pixels
Figure 1. Mixels are interfaces made from programmable magnetic pixels. Users can create Mixels using our custom design
and fabrication pipeline: (a) an inexpensive hardware add-on consisting of an electromagnet and hall effect sensor clipped on
to a 3-axis CNC can both write and read magnetic pixels, (b) the resulting magnetic interfaces can be programmed to attract
and repel only in specific configurations and are otherwise agnostic, (c) this enables a variety of applications, ranging from
selectively paired yet visually identical objects, to haptics and guided assembly.
In this paper, we present Mixels, programmable magnetic pixels
that can be rapidly fabricated using an electromagnetic printhead
mounted on an off-the-shelve 3-axis CNC machine. The ability to
program magnetic material pixel-wise with varying magnetic force
enables Mixels to create new tangible, tactile, and haptic interfaces.
To facilitate the creation of interactive objects with Mixels, we pro-
vide a user interface that lets users specify the high-level magnetic
behavior and that then computes the underlying magnetic pixel
assignments and fabrication instructions to program the magnetic
surface. Our custom hardware add-on based on an electromagnetic
printhead and hall effect sensor clips onto a standard 3-axis CNC
machine and can both write and read magnetic pixel values from
magnetic material. Our evaluation shows that our system can reli-
ably program and read magnetic pixels of various strengths, that we
can predict the behavior of two interacting magnetic surfaces be-
fore programming them, that our electromagnet is strong enough
to create pixels that utilize the maximum magnetic strength of
the material being programmed, and that this material remains
magnetized when removed from the magnetic plotter.
1. Introduction
Advances in digital fabrication tools have enabled users to fabri-
cate objects with a wide range of properties by modifying physical
parameters, such as the color [37 ], surface texture [38 ], and compli-
ance [ 19 , 22 ] of objects. More recently, digital fabrication tools have
also been used to fabricate objects with other functional properties,
such as custom acoustic [10] and optical [45] behaviors.
Magnetic materials, however, still remain far behind this digital
fabrication revolution [11 ] despite the fact that magnetic materials
hold great promise for interactive applications. For example, re-
searchers used magnets to create novel tangible interfaces (MechaM-
agnets [ 46]), to produce custom tactile sensations (MagneLayer [ 42]),
to guide the assembly of 3D objects (DynaBlock [36 ], ElectroVoxel [ 21],
Stochastic Self-assembly [20]), and to create actuated interfaces (Pro-
grammable Polarities [ 24 ]). However, all of these works either use
off-the-shelf magnets (MechaMagnets [ 46], DynaBlock [ 36 ]) or re-
quire manual construction of the customized magnetic materials
(FluxPaper [26], MagneLayer [42]).
More recently, researchers also started to automate the fabrica-
tion process of custom magnetic materials. For instance, Magnetic
Plotter [ 40 ] is a 2D plotter that stamps custom magnetic patterns
onto magnetic sheets using two permanent magnets to provide
interaction. Although this method supports programming a variety
of patterns, Polymagnets [ 1 ] introduced a commercial product that
expedites the programming of magnetic pixels and developed a
method to create magnets with unique applications such as non-
contact attachment. However, researchers have not yet investigated
how to create a design and fabrication pipeline for programmable
magnetic pixels that are selectively attractive, repulsive and agnos-
tic between multiple objects.
In this paper, we introduce Mixels, the first digital design and
fabrication pipeline that creates interfaces based on programmable
magnetic pixels that exhibit selectively attractive and repulsive
behaviors in specific configurations and that otherwise remain ag-
nostic. Mixels fabrication hardware consists of a hardware add-on
with an electromagnet for writing magnetic pixels and a hall effect
sensor for reading magnetic pixels mounted on a 3-axis CNC ma-
chine. Mixels design interface allows users to create magnetic pixel
patterns that exhibit desired attractive, repulsive, or agnostic behav-
iors. On export, the designed magnetic pixel patterns are translated
into fabrication instructions, allowing the plotter to program mag-
netic faces without manual intervention. Our evaluation shows
that our system can reliably program magnetic pixels (within 0.3%
accuracy) of different strengths, that we can identify the polarity of
a programmed pixel via our magnetic reader, that our chosen elec-
tromagnet is strong enough to create pixels of maximum magnetic
strength (310 Gauss in either polarity for our chosen magnetic ma-
terial), and that our magnetic material remains highly magnetized
when removed from the magnetic plotter (exhibiting no detectable
attenuation once programmed). Finally, our evaluation shows that
we can accurately predict the interaction between two magneti-
cally programmed surfaces, which allows us to create interfaces
with strong interactions in a chosen configuration while remaining
magnetically agnostic otherwise. We illustrate this with a number
of applications that enrich interactions of physical objects through
connection, sensing, and tactile sensation.
In summary, this paper contributes
- A hardware add-on that can write and read arbitrary 2D mag-
netic patterns of continuously variable magnetic strengths.
- A user interface that lets users design and visualize magnetic
patterns with selectively attractive and repulsive behaviors.
- A technical evaluation of our ability to select, program, and
read magnetic pixels from magnetic sheets.
- Novel applications enabled by our programmable magnetic
patterns, such as selective pairing, guided assembly, and
vibration and haptics.
Figure 2. Benefits of Mixels. Mixels leverages its ability to program 2D patterns to construct interfaces that are attractively
selective using matrix algebra. It supports designing and plotting arbitrary 2D magnetic patterns in a pixelwise manner, ex-
tending the ability to plot lines. It uses digital control by affixing a hardware add-on to a CNC for precision plotting. It uses
an electromagnet rather than permanent magnets for plotting, the polarity of which can be digitally controlled. The current
through this electromagnet can be continuously regulated to program continuously valued magnetic pixels. By encoding mu-
tually orthogonal matrix values as magnetically programmed pixels, we can program interfaces that are not just attractive or
repulsive, but agnostic to each other. Using a Hall effect sensor on our add-on, we can read back programmed magnetic pixels
for further manipulation and re-programming. Our user interface supports users to specify behaviors in terms of attraction,
repulsion and agnosticism, and can compute the underlying magnet assignments automatically.
2. Related Work
Many HCI researchers have explored the use of magnets to create
novel tangible and haptic interactions since magnets are inexpen-
sive and widely available, and have also embedded them into cus-
tom 3D printed objects. To further customize magnetic behavior,
researchers have also recently started to create custom programmed
magnetic sheets
2.1 Magnets for Tangible and Haptic
Interaction
Many researchers have leveraged magnets to create novel tangi-
ble and haptic interactions. One approach focuses on using pas-
sive magnets with sensing techniques to create new interaction
modalities. For example, Magnetic Appcessories [ 5 ], GaussBits [ 17 ],
GaussStones [ 18 ], and Geckos [ 15 ] employ a magnetometer to de-
tect the states of physical inputs and positions of magnetic tangible
tokens. Similarly, MagGetz [9 ], MagnID [ 6], GaussBricks [16 ], Gauss-
Marbles [12 ], Magnetic Ring [ 8], MagneTrack [2 ] also demonstrate
various applications including interactive games and input controls.
By combining these sensing approaches with interactive touch dis-
plays, these systems allow users to manipulate and interact with
digital information via the magnetic tangibles.
Another approach focuses on methods to actuate or otherwise
manipulate magnets for dynamic behaviors, using both permanent
magnets and electromagnets to create actuated tangible and tactile
interfaces. For example, Actuated Workbench [28 ], ShiftIO [33 ], Flux-
Marker [35 ], and Reactile [34 ] move and control passive magnets on
a 1D or 2D surface to create actuated tangible interfaces. ZeroN [14 ]
uses an electromagnetic control system to levitate and manipulate
permanently magnetic objects for mid-air tangible interaction. Us-
ing electromagnets, researchers have explored various applications,
such as creating haptic interfaces (Omni [13 ], MAGHair [ 7]), provid-
ing drawing guidance (dePENd [39 ]), and supporting collaboration
(PICO [ 29]). Taking inspiration from these works, we explore how
programmable magnetic pixels can expand the range of applications
and design space of current magnetic interfaces.
2.2 Embedding Magnetic Behavior into Objects
Recently, researchers have also used magnets to add functionality
to 3D printed objects. For example, Programmable Polarities [20 ],
MagTics [ 30], and 3D Printed Electromagnets [31 ] leverage elec-
tromagnets to make the 3D printed objects interactive. However,
the use of electromagnets requires power to operate, which de-
creases portability and ease of fabrication. Researchers have thus
also utilized passive magnets to build unpowered, inexpensive inter-
active devices. For example, Mechamagnets [46 ] demonstrate how
embedded static magnets in 3D printed parts can deliver various
mechanical behavior for physical inputs. Embedded magnets for
3D printed objects are used to provide haptic feedback (Magneto-
Haptics [25 ], Ogata et al. [27 ]), construct objects (Dynablock [36 ]),
and prototype electronics (Oh, Snap! [32], LittleBits [4]). However,
existing works only use discretely sourced, off-the-shelf magnets.
In contrast, our work explores how to digitally program magnetic
materials with custom patterns to create objects capable of new
forms of interaction.
2.3 Programmed Magnetic Sheet
To create more custom magnetic behaviors, researchers also investi-
gated how to program magnetic sheets. A programmable magnetic
sheet is a soft magnetic sheet that can be programmed into a de-
sired magnetic pattern. HCI researchers have demonstrated the
great potential of this approach to create custom tactile, haptic,
and tangible interfaces. For example, Magnetic Plotter [40 ] explored
how to fabricate programmable magnetic sheets that can generate
various different tactile sensations for haptic interaction. To pro-
gram the sheet, Magnetic Plotter uses a neodymium magnet that is
stronger than the sheet, which allows greater flexibility than just
using a non-programmed approach such as Bump Ahead [ 44]. Flux-
Paper[26 ] also explores a magnetically programmable paper, which
allows physical movement and dynamic actuation. Beyond a simple
pattern, MagneLayer [ 42] introduces a layered approach, which can
create more complex 2D patterns by combining different patterns
of the sheet. By leveraging these capabilities, Magnetact [ 41 ] and
Magnetact Animals [43 ] demonstrate various applications in kinetic
toys or interactive haptic interfaces for touchscreen devices. Finally,
Polymagnets [ 1] is a commercial product that leverages dedicated
machinery to program individual pixels, creating magnets with
unique applications such as non-contact attachment and rotational
locking between two objects. However, researchers have not yet
investigated how to create a design and fabrication pipeline for
programmable magnetic pixels that 1) supports interfaces with
selectively attractive, repulsive and agnostic behaviors between
multiple objects, 2) supports digitally reading magnetic pixels to al-
low for local reprogramming, and 3) is inexpensive and reproducible
by users; since Polymagnets is a commercial product, the fabrica-
tion device is not available to researchers and it is unclear how
users are supported in creating magnetic pixel layouts of desired
behaviors. Our work is thus the first to develop a digital design and
fabrication pipeline to support users in creating interfaces based
on programmable magnetic pixels that exhibit selectively attrac-
tive and repulsive behaviors in specific configurations and that
otherwise remain agnostic.
3. Mixels: Plotting Magnetic Pixels
Mixels are programmable magnetic pixels that can be rapidly fab-
ricated using an electromagnetic printhead mounted on an off-
the-shelve 3-axis CNC machine. To program magnetic pixels, our
system consists of (1) the magnetic plotter hardware, (2) the control
software that sends commands to the magnetic plotter hardware,
and (3) a design user interface that allows the user to specific desired
magnetic behaviors. Figure 1 illustrates each of the components of
our system and highlights several application scenarios.
Magnetic Pixels Concept: At a high-level, the goal of our system
is to magnetize each “pixel” of a magnetic sheet to create a pixel-
wise magnetic pattern. Our hardware applies a magnetic field to
specific locations on the magnetic sheet to magnetize and demagne-
tize pixels one by one, allowing us to program the polarity of each
pixel in the soft magnetic sheet. The programmed magnetic pixels
allow users to create pairs of magnetic interfaces that (1) attract, (2)
repel, and (3) are agnostic (i.e., neither attract nor repel each other)
to each other in specific configurations. Figure 2 further illustrates
the concept and design space of magnetic pixels. By leveraging this
functionality, users can create various applications, ranging from
selective pairing, to guided assembly and haptics.
Design and Fabrication Pipeline: To support users in creating
and reprogramming magnetic pixel patterns, we created a design
and fabrication pipeline that automates fabrication and abstracts
away the underlying domain knowledge about how magnetic pixels
need to be laid out to accomplish attraction, repulsion, and agnosti-
cism via a design tool that allows for high-level input. We modified
an off-the-shelve 3D printer (SnapMaker) and use its 3-axis motion
platform to actuate our magnetic plotter hardware add-on, which
consist of an electromagnet and hall effect sensor to both write and
read the polarity of magnetic sheets at each pixel individually. The
hardware add-on, control software and high-level design input via
the user interface allow the user to create uniquely patterned soft
magnetic materials.
Magnetization and Demagnetization Cycle: To create magnetic
pixels, users insert the magnetic sheet into the plotter. The electro-
magnet is then turned on and polarized either in ’North’ or ’South’
direction to increase the magnetic sheet’s strength until maximum
saturation. The electromagnet is then turned off and the user can re-
moved the magnetic sheet from the magnetic plotter. After removal
from the magnetic plotter, the strength of the magnetic sheet drops
only marginally, i.e. retains a significant portion of its magnetic
strength. If the user wishes to reprogram the magnetic pattern,
they can reinsert the magnetic sheet in the magnetic plotter, which
demagnetizes the soft magnetic sheet by turning on the electro-
magnet in the opposite direction of the pixel that needs to be reset,
before starting the process of reprogramming the new magnetic
pixel value in any polarity (North or South).
Figure 3: Magnetic plotter: (a) add-on mounted onto a 3-axis
CNC. (b) add-on electronics viewed from above. (c) Close-
up of the plotting end effector, consisting of an cone-tipped
electromagnet for writing and a hall effect sensor for read-
ing magnetic programs.
4. Magnetic Plotter Hardware Add-on
To make our method available to a wide range of users, we build
our magnetic plotter as an inexpensive add-on that can be clipped
on to a 3-axis CNC (e.g., we use the SnapMaker 3-in-1). Our add-on
consists of an Arduino Nano microcontroller, an electromagnet, an
H-bridge, and a hall effect sensor encased in a 3D-printed housing,
costing only $62 in parts. We use our add-on to program commer-
cially available and inexpensive soft magnetic sheet (X-bet, 26 mil
thickness) that costs $0.008/cm2.
Magnetic Sheet Material: We chose a "soft" magnetic sheet mate-
rial because soft magnetic materials are more easily reprogrammable
than hard magnetic materials. This is because soft magnetic ma-
terials are more easily demagnetized under a magnetic field. In
addition, once demagnetized, they can be reprogrammed (that is,
remagnetized) using a weak magnetic field. However, the draw-
back is that soft magnetic materials have a lower overall magnetic
strength than magnetically hard materials.
Electromagnet: We chose an electromagnet over a permanent
magnet because we can change the polarity of an electromag-
net digitally by changing the direction of current applied to it.
In addition, electromagnets allow us to continuously vary the mag-
netic strength of each pixel by regulating the magnitude of current
through them [40 , 42 ]. However, cylindrical electromagnets of the
same diameter as permanent magnets exhibit less magnetic strength
and thus, the resulting magnetic pixels are weaker. To create mag-
netic pixels of the same strength without trading-off resolution,
we therefore shaped the electromagnet into a cone that narrows
where it touches the magnetic sheet material. Since the narrow tip
concentrates the magnetic flux, our shaped electromagnet creates
a stronger magnetic pixel than a permanent magnet for the same
pixel size.
Writing Magnetic Pixels: To create magnetic pixels, we use an
electromagnet that is comprised of a cylindrical permalloy core
(10mm diameter, 20mm length) wrapped with 250 turns of 20 AWG
wire, with the last 5mm of one end filed to a cone whose tip writes
3mm wide pixels. The core has a relative permeability of 𝜇𝑟 = 90000,
a factor of 40 greater than most brittle ferrite cores typically used
for electromagnets. The electromagnet is coupled to the hardware
add-on via a spring-loaded pogo pin, giving it compliance as the
plotter touches it to the sheet surface. To drive the electromagnet
bidirectionally, we connect it to a full H bridge we built using
four relays (Omron 1718H1) driven by 2 MOSFETs (IRFZ44N) and
shunted with flyback diodes (1N4752A). Given these features, our
method allows us to program magnetic pixels in both polarizations
using a single magnet without user intervention. Each pixel requires
0.7 seconds to program, drawing 130W from an offboard power
supply to energize the electromagnet during this period and 200mW
otherwise. We recorded no excessive heating of the electromagnet,
and no observable wear on the CNC even after prolonged use
(i.e., we programmed 1500 pixels consecutively to test the add-on’s
durability in operation).
Reading Magnetic Pixels: To read magnetic pixels programmed
onto the sheet, we use a hall effect sensor (MUZHI 49E) conditioned
by a voltage comparator (LM393) on a breakout board. This allows
us to read both the direction and magnitude of the magnetic polari-
ties of individual pixels and to store these values digitally, which
can be later used with our user interface to copy, edit and "paste"
(program) pixels, even if the pixel value was previously unknown
to the user. In contrast, passive magnetic viewing film can only
detect the magnetic strength but cannot distinguish "North" from
"South". In addition, since it is an analog method the results seen
under viewing film cannot be easily transferred to digital tools.
Figure 4. Mixel’s user interface with three different design modes: (a) Individual Pixels: users can edit each pixel directly and
assign a value of either ’North’, ’South’, or ’Demagnetized’, (b) Pair Generation: users can create pairs of matrices which are
maximally attractive to each other in specific configurations, but agnostic to other pairs, (c) Canvas interaction: allows users
to define how a smaller matrix should interact with a larger matrix, i.e. either attract, repel, or be agnostic at each location.
5. Control Software
Our control software sends (1) movement commands to the CNC
machine to move the hardware add-on over a specific magnetic
pixel, and (2) commands to the electromagnet and hall effect sensor
for writing and reading magnetic pixel values at the specific location.
The CNC and the hardware add-on’s microcontroller (Arduino) are
both connected to a laptop via USB cables. We run a local server on
the laptop to communicate with the CNC machine and the add-on.
A python script on the server accesses the CNC’s and hardware
add-on’s serial channels using the Pyserial library to both send
commands and retrieve data via the serial port.
Writing Magnetic Pixels: To plot a pattern, users run a python
script with the ’plot’ parameter and input a previously designed
magnetic pixel matrix (.pkl file format). The .pkl file contains the
magnetic pixel matrix as a 2D array with elements stored as 1 for
’North’ pixels and -1 for ’South’ pixels. To plot the matrix, the CNC
moves to the first pixel and after the pixel has been programmed by
the electromagnet moves translationally (in X or Y) one pixel width
at a time. Between each pixel, the CNC rises and descends by 3 mm
(in Z) to clear the sheet surface. Unchanged pixels are defined as 0
in the .pkl file and the CNC skips these to save plotting time. After
the CNC moved to a specific pixel location, the python script sends
a command to the microcontroller connected to the electromagnet
to polarize the electromagnet in the correct direction (i.e., either
’North’ or ’South’) before turning it off.
Reading Magnetic Pixels: To read a pattern, users run the python
script with the ’scan’ parameter and the size of the matrix as input.
To read the matrix, the CNC moves to the first pixel and after the
pixel has been read by the hall effect sensor moves translationally
(in X or Y) one pixel width at a time. Similar to plotting, between
each pixel, the CNC rises and descends by 3 mm (in Z) to clear the
sheet surface. After the CNC moved to a specific pixel location, the
python script sends a command to the microcontroller connected to
the hall effect sensor to read the magnetic pixel value. The magnetic
pixel readings are then saved as a .pkl file. The .pkl file can then
be uploaded to the user interface, which then shows the magnetic
polarity at each pixel.
6. Designing Magnetic Pixel Interactions
We developed a user interface (Figure 4) to support the design of
magnetic pixel layouts with desired behaviors. The user interface
allows users to design and visualize custom magnetic patterns and
their interactions and automatically converts these patterns into
instructions for plotting them with the hardware add-on. The user
interface also visualizes magnetic pixel patterns that were scanned
from a previously programmed magnetic surface, which allows
users to discover, copy or edit previously programmed patterns for
new applications. To showcase these features, our user interface
supports three design modes: editing individual pixels, pair genera-
tion, and Canvas interaction. The user interface is built as a web
application on an Amazon Web Services EC2 instance. We created
the backend with the Django framework, and used React to design
the user interface itself.
6.1 Design Modes for Magnetic Pixel Patterns
Editing Individual Magnetic Pixels: In this mode, the user can
edit each magnetic pixel individually (Figure 4a). Users first click the
’Generate’ button, which creates a 2D matrix of user-defined size
consisting of individual pixels. Users can then click each individual
pixel to assign them as ’North’, ’South’, or ’Demagnetized’. The
’Export’ button then saves the pixel assignments as a matrix (.pkl
file) with values of 1 for ’North’ pixels and -1 for ’South’ pixels,
which is used by the control software to program the magnetic
pattern using the hardware add-on. Instead of starting with an
empty matrix, users can also use the ’Import’ button to load a
previously scanned magnetic pixel pattern. Users can then edit
individual pixels of the scanned matrix to re-program the scanned
pattern for new applications. When hitting the ’Export’ button, the
exported matrix generated will only account for changed pixels
(i.e., saves all unchanged pixels as ’0’ values), which saves plotting
time when only a few pixels require changes.
Pair Generation: This mode allows creating pairs of magnetic
surfaces that are attractive to each other when overlapping in one
specific configuration but that are not attractive to each other in
other configurations or when overlapping with other programmed
surfaces. Users can generate a desired number of pairs by entering
the number of matrices and then clicking the ’Generate’ button.
This will then display the magnetic matrix pairs in the user inter-
face. Figure 4a shows that the matrices in each pair are opposite,
i.e. where one pixel is black (’North’), the other is white (’South’),
such that they perfectly attract when they are directly superim-
posed. However, when there is a translation of one or more pixels
between the surfaces, they will be agnostic to each other due to the
orthogonality in these matrices. Similarly, the programmed pairs
are also agnostic to the magnetic matrices in the other generated
pairs in all configurations. After generating the pairs, users can use
the ’export’ button to export the matrices collectively for plotting
as a set of .pkl files.
Canvas interaction:While the previous mode allowed users to
define pair-wise interactions, the ’Canvas interaction’ mode al-
lows users to define how a smaller magnetic matrix should interact
across a larger magnetic area, or ’canvas’ (Figure 4c). To define the
interaction, users first use the ’choose token’ button to load the
smaller matrix, which they previously designed in the user inter-
face. Next, they define the larger magnetic matrix by specifying the
number of rows and columns and then initializing the larger mag-
netic matrix by clicking the ’generate’ button. The generated larger
magnetic matrix is then automatically partitioned into ’metapixels’
whose size is equal to the smaller magnetic matrix. Users can then
click each metapixel to assign whether the smaller magnetic matrix
should interact with that region attractively, repulsively, or agnos-
tically. In Figure 4c, the larger magnetic matrix can be designed as
topological hills and plateaus on a map; a smaller magnetic matrix
affixed to a user’s finger will feel a repulsive force when moved
over a red region, indicating a hill, but remain agnostic elsewhere.
After programming the surface, users click the ’Export’ button to
export the .pkl files for programming both magnetic surfaces.
6.2 Selective Attraction and Repulsion
Both in the ’pair generation’ and the ’Canvas interaction’ design
mode, our user interface generates patterns that attract or repel
only when aligned in specific locations and orientations. In all other
configurations, those patterns are agnostic.
Selective Attraction: To accomplish selective attraction, we gen-
erate one matrix of the pair as a so-called ’Hadamard’ matrix, and
the second matrix of the pair as the complement of the Hadamard.
In a Hadamard matrix, every row and every column are orthogonal.
Thus, when the complement of the Hadamard is moved across the
original Hadamard matrix, they are agnostic in each configuration
except when in perfect alignment, which is when they attract. To
initialize a Hadamard matrix with orthogonal rows and columns,
we use a recursive generation algorithm [3].
Selective Repulsion: Selective repulsion works in the same way
to selective attraction, except that the second matrix is identical
to the original Hadamard matrix. Thus, when both matrices are
moved across each other, they are agnostic in each configuration
except when in perfect alignment, which is when they repel.
Multiple Pair Agnosticism: While the method described above
works to create selective attraction and repulsion for a single pair
of magnetic surfaces, the algorithm needs to be extended when
multiple pairs of surfaces need to be selectively attractive/repulsive
both within the pair and with other pairs. For instance, in the ap-
plication example shown in Figure 12, a letter should only connect
to its correct neighbor and not to other letters to form the correct
word. To accomplish selective attraction/repulsion across multi-
ple pairs of magnetic surfaces, we create new pairs of Hadamard
matrices by permuting the rows of the original matrix generated
recursively [ 3 ]. Once many such pairs have been created, we com-
pute the 2D cross-correlation between these permuted matrices and
then choose only those matrices that maximize mutual agnosticism
between pairs [23].
7. Evaluation
We evaluated how reliably the electromagnet can program the
magnetic sheet, if the electromagnet can fully saturate the sheet to
endow it with its greatest possible strength, how long the magnetic
sheet remains magnetized when removed from the electromagnet,
how accurately we can create pixels with continuous magnetic
strength, and how accurately we can read magnetic pixel values.
Figure 5: Electromagnet B-H curve. The electromagnet satu-
rates at 0.34T at both (a) positive (’North’) and (b) negative
(’South’) ends.
7.1 Reliability of Magnetic Programming
We first evaluated how reliably the magnetic strength of individual
pixels can be programmed, which is necessary to ensure consistent
behavior.
Procedure: We collected data by energizing the electromagnet
between 0A and 10A, in increments of 1A, in both North and South
directions. For each applied current, we recorded the magnetic field
at the conic tip of the electromagnet using a Gaussmeter (AlphaLab
GM-2). We repeated the measurements 4 times, and computed the
mean and standard deviation at each increment.
Results: Figure 5 shows the resulting magnetization curve, also
known as the B-H curve, for the electromagnet. The electromagnet
saturates at 0.302T and the measurements exhibit an average stan-
dard deviation of 1.01mT, yielding a highly reliable field that can
be generated within 0.3%. The curve is symmetric and exhibits no
hysteresis, allowing programming both North and South polarities
reliably. The electromagnet can be turned completely off by remov-
ing power from the coil; this is illustrated by the curve intersecting
the origin, showing that the induced B field collapses when the H
field is set to 0, signifying very low coercivity and remanence.
Figure 6: Sheet hysteresis curves when the sheet is fully sat-
urated (major loop, blue) and when it is less than fully sat-
urated (minor loops, red). Major loop is labeled to indicate
(a) positive and (b) negative saturation; (c) positive and (d)
negative remanence; (e) positive and (f) negative coercivity.
7.2 Maximum Magnetic Field Strength
Next, we evaluated if the electromagnet is strong enough to fully
saturate the magnetic sheet, which allows creating applications that
leverage the material’s maximum magnetic strength (flux density).
Procedure: Data was generated by touching the conic end of the
electromagnet to the sheet material, energizing the electromag-
net, then de-energizing the electromagnet and measuring the field
strength of the material sheet where it was programmed. We in-
creased the strength of the electromagnet’s magnetic field by in-
creasing the current applied to it from 0A (Figure 6f) upwards in
0.6A increments, measuring the field strength of the sheet where
it was programmed with each increment. We continued this pro-
cedure until an increase the electromagnet’s field produced no
additional magnetization of the sheet (Figure 6a).
Results: Figure 6 shows the plotted data starting from 6(f) and end-
ing at 6(a). The procedure showed that an external field generated
using 𝐼𝑚𝑎𝑥 = 10𝐴 was the minimum current required to saturate
the sheet. The curve shows that our electromagnet design is strong
enough to saturate the sheet (at 0.0344T), generating as much force
as possible for applications. In contrast, an equivalently sized pixel
programmed by a cylindrical permanent magnet (neodymium, 3mm
diameter, 6mm length) was 0.032T.
7.3 Permanence of Magnetic Field
We also evaluated the ability of pixels programmed in the magnetic
sheet to stay magnetized after programming; their remanence, and
the ease with which they can be de-magnetized; their coercivity.
Procedure: We begun by following the procedure used to evaluate
saturation, detailed above, using 𝐼𝑚𝑎𝑥 = 10𝐴 to saturate the sheet
(Figure 6a). We then de-energized the electromagnet, reducing the
current in increments of 0.6A, until the applied current was 0A,
and measured the field strength of the material. The magnetic
field strength of the sheet with the electromagnet turned off is
shown in Figure 6(c), and is the material’s remanence. We then
continued by applying current to the electromagnet in the opposite
direction; a negative current in Figure 6, increasing the magnitude of
this negative current in increments of 0.6A until the field strength
of the sheet was 0T. This is indicated in Figure 6(e), and is the
material’s coercivity. The same procedure used to generate the
curve 6(f,a,c,e), is used to plot the remaining curve 6(e,b,d,f) by
continuing to polarize the electromagnet in the opposite direction
starting from 6(e). We repeated this 4 times and computed the mean
and standard deviation at each increment.
Results: Unlike for the electromagnet, the magnetization curve
for the magnetic sheet generated in Figure 6 reveals a phenome-
non known as magnetic hysteresis, which is the dependence of the
current magnetization of the sheet on its magnetic history. The
hysteresis generated by saturating the material, shown in blue, is
known as the major loop. The asymmetry in this hysteresis is what
enables the sheet to stay magnetized after programming. The hys-
teresis curve indicates a low coercivity, indicating that the material
is easily re-programmed with a weak external magnetic field, and
exhibits high remanence, illustrated by the negligible attenuation
of the material’s magnetic field strength after the electromagnet
is turned off following saturation. The average standard deviation
for the major loop was 6.81mT, and the standard deviation at each
point is illustrated in the figure to indicate its repeatability.
7.4 Continuous Magnetic Strength
We evaluated if we can program pixels with continuous magnetic
strengths, by reliably programming the sheet in a way that does not
fully saturate it. This results is so-called ’minor’ hysteresis loops,
as shown by red and orange curves in Figure 6.
Procedure: Data used to evaluate the minor curves were gathered
using the same strict order as for the major loop, following the
loop anti-clockwise. As mentioned previously, an external field
generated using 𝐼𝑚𝑎𝑥 = 10𝐴 fully saturates the sheet. To investigate
the effect of not fully saturating the sheet, we therefore chose
fields created with lower current using 𝐼𝑚𝑎𝑥 = 3.3𝐴, 6.6𝐴. We then
repeated the procedure outlined in section 7.3, beginning at Figure
6(f) and following each loop anti-clockwise back to its starting
point. We repeated this 4 times for each 𝐼𝑚𝑎𝑥 , and computed the
mean and standard deviation at each increment.
Results: Figure 6 shows the two magnetization curves when the
field strengths were generated with currents through the electro-
magnet of 3.3A and 6.6A. The average standard deviation for 3.3A
and 6.6A curves are 5.85mT and 6.69mT respectively, and the stan-
dard deviation at each point is illustrated in the figure. This shows
that the hysteresis loops can be utilized for programming a range
of magnetization strengths.
Figure 7: Histogram of magnetic pixel values scanned by
hall effect sensor. North- and South-oriented pixels are
clearly differentiated.
7.5 Accuracy of Reading Magnetic Pixel Values
We evaluated how accurately we can read magnetic pixel values
with our hall effect sensor.
Procedure: We programmed 150 North-oriented (with normalized
flux of -1) and 150 South-oriented pixels (with normalized flux +1),
and recorded the magnetic strength both with the hall effect sensor
and with the Gaussmeter to obtain a ground-truth estimate.
Results: The recorded magnetic pixel strengths as measured by the
hall effect sensor are shown in normalized form as a histogram in
Figure 7. North-oriented pixels are shown in red and South-oriented
pixels are shown in blue. As can be seen in the figure, the read
values exhibit significant noise with recorded values distributed
widely around their ground truths of -1 and +1. Ground-truth mea-
surements taken with a Gaussmeter showed that the programmed
values were accurate, thus the noise is introduced by the inaccuracy
of the hall effect sensor. However, since both the south and north
regions have non-overlapping distributions, we can still differen-
tiate between magnetically North- and South-oriented pixels. A
higher quality hall effect sensor would be required to accurately
measure pixels that were programmed with continuously variable
magnetic strengths.
Figure 8: Predicted and measured magnetic interactions
when two patterns, a checkerboard and a Hadamard matrix,
are cross-correlated with their negatives.
7.6 Predicted vs Measured Interaction
Finally, we evaluated how accurately we can predict magnetic in-
teractions in terms of attraction, repulsion and agnosticism.
Procedure: We created two magnetic pixel designs in our user
interface (Figure 8a): (1) an 8x8 checkerboard pattern of ’North’ and
’South’ programmed pixels, and (2) an order-8 Hadamard matrix.
We also created their complement matrices: the corresponding
magnetic pixel pattern produced by multiplying each matrix by
-1. We then translated each matrix pixel-by-pixel, in both X and Y
directions, across its complement and evaluated the resulting force
at each increment.
Simulation Results: Figure 8(b) shows the predicted interaction
between each matrix. We generated the predicted values by com-
puting the normalized cross-correlation between each matrix and
its complement. This effectively implies taking the sum of all attrac-
tive (-1) and repulsive (+1) pixel interactions, and dividing by the
number of pixels. As a result, cross-correlation values of -1 desig-
nate perfect attraction, +1 is perfect repulsion and 0 is agnosticism.
When the checkerboard matrix and Hadamard matrix are centered
on their respective complements, they are by definition attractive
at every pixel, yielding a value of -1. Elsewhere, the checkerboard
produces oscillating attractive and repulsive interactions with every
pixel-wise translation, whereas the Hadamard remains perfectly
agnostic in pure X-translation and Y-translation, and maximally
agnostic for mixed translation.
Physical Results: Figure 8(c) shows measured data. We measured
this data by first programming the patterns on magnetic sheets
(25mm side square). We then affixed one magnetic sheet onto a
scale (KUBEI pocket, 0.1mN accuracy) placed on the CNC baseplate.
The other sheet was mounted onto the CNC arm, which trans-
lated the patterns pixel-wise one pixel at a time (while keeping the
magnetic sheet in a planar orientation and 0.5mm apart from the
mounted sheet). We then recorded the force at each location using
the scale. As can be seen in Figure 8, the measured data corresponds
well visually with the simulated cross correlation, showing we can
predict magnetic interactions between arbitrarily programmed mag-
netic sheets accurately before physically programming them. The
two square faces of 25mm side length were measured to exhibit
an attractive force of 1.09N, corresponding to 1.74 kPa. In shear,
the faces could withstand 1.31N, a high value likely caused by the
exceptionally high friction coefficient (1.15) of rubber.
8 Applications
We built a number of applications to demonstrate how pixel-wise
programmed magnetic interfaces enable novel use cases.
Figure 9: Each magnetic face exhibits a unique force profile
when placed on a second magnet, which can be detected via
a pressure sensor that then lights up the corresponding LED.
Unique Force Profiles: Figure 9 shows how we can create objects
that exhibit unique force profiles. We programmed three magnetic
faces (marked green, yellow, and red) with different magnetic pat-
terns and affixed them to the bottom of 3D-printed handles. When
each of the handles is placed on a platform housing a second magnet
below a pressure sensor, the unique force profile is registered by the
microcontroller connected to the pressure sensor and subsequently
lights up the associated colored LED. We created the different force
profiles by designing the magnetic patterns in the user interface
using the mode for directly programming individual pixels.
Figure 10: Storage of objects that will only adhere to a work-
shop wall in particular locations and orientations.
Attachments with Specific Orientations: Figure 10 shows how
we can magnetically program attachments that only permit placing
objects in specific locations and orientations. We used the user
interface’s pair generation mode and after plotting the pairs, we
attach one magnetic face with double sided tape to a workshop
wall and the paired complement to the associated tool. As a result,
the tools will only bond when placed at the correct location on the
workshop wall and in the correct orientation.
Figure 11: Selectively magnetic lock-and-key systems. Col-
ored locks (solid lines) mate with keys of the associated color
(dashed line), but not others.
Selectively Pairing Objects: Figure 11 shows how we can use the
user interface’s pair generation mode to create selectively paired
locks and keys. For this, we attach one magnetic face on the key
(foreground) and the matching paired complement to the lock (back-
ground). For example, the yellow key opens a lock to the hidden
yellow surface, but not others. Keys can be programmed to open
multiple locks by plotting multiple identical lock patterns, and vice
versa. In addition, both locks and keys can be quickly reprogrammed
for new security requirements. Moreover, unlike physical keys, the
structure of the magnetic keys is invisible to the naked eye. This
therefore combines the reprogrammability and imperceptibility of
digital keys with the forces of physically actuated keys.
Figure 12: Selectively attractive faces between the cubes
guide users into the correct assembly. The letters are plot-
ted onto the top surface of the cubes and made visible with
magnetic viewing film.
Guided Assembly: Figure 12 shows how we can create structures
that guide the user how to correctly assemble them. In the example
shown, four blocks when assembled correctly form the word ’UIST’.
To ensure the blocks assemble in the correct way, we use the pair
generation mode in the user interface to program selectively mating
patterns on the faces between cubes. The result is that the cubes
adhere magnetically only when assembled correctly to form the
word, and cannot be assembled in any other way. To visualize
the letters on the top surface, we use the user interface’s mode
for programming individual pixels to draw the letters and after
plotting them onto magnetic sheet material we overlay them with
magnetic viewing film to make the magnetic pattern visible to
the user. This illustrates the selective patterns’ ability to provide
affordances that guide human assembly tasks, and our ability to
plot arbitrary magnetic patterns as visual textures.
Figure 13: A hand-held token can be programmed to exhibit
specific interactions with any location on a programmed
sheet.
Haptic Feedback: Figure 13 shows how we can create an arbi-
trarily large magnetically programmed canvas that provides haptic
feedback to a user’s finger that has a magnetically programmed
token attached to it. The canvas is programmed to exhibit repulsion
at chosen locations and agnosticism at others. Coupled with a pro-
jector, an image, or mixed reality media, this setup can be utilized
to create tactile representations of physical landscapes.
9 Limitations and Future Work
In the next section, we discuss limitations of our approach and lay
out directions for future work.
Using the Electromagnet to both Write and Read: We can fur-
ther simplify the hardware add-on by using the electromagnet to
read pixels as well as write them. To accomplish this, we can lever-
age Faraday’s law to induce a voltage in the coil as it crosses the
pixels’ flux lines. This technique has been utilized to both read and
write audio tape cassettes from a single electromagnet head for
several decades, and thus is promising for our system as well.
Continuous Pixels: Although our hardware can support pixels
with continuous magnetic strength, our user interface and control
software currently only support binary pixels of ’North’ or ’South’
direction. For future work, we plan to extend the user interface
by allowing users to assign continuous pixel values by visualiz-
ing these in grayscale and then tailoring the current through the
electromagnet accordingly during plotting via the control software.
Increasing Plotting Speed: To accelerate plotting speed, we can
affix multiple electromagnets in an array onto the add-on, which
will allow us to program multiple pixels in parallel.
Increasing Magnetic Pixel Strength: For future work, we will
investigate how to increase the magnetic pixel strength by using
materials capable of supporting higher magnetic flux densities com-
bined with more powerfully coercive magnetic plotters. This would
permit great pixel strengths for the same programming times but
may require more complex electronics.
Printing 3D Magnetic Structures: Recent advances in 3D print-
ing filament have also produced magnetic filament. For future work,
we will explore how we can leverage such magnetic filament to
both print the structure and as well as the magnetic behavior in
one pass to program 3D magnetic objects.
10 Conclusion
In this paper, we presented Mixels, programmable magnetic pixels
that can be rapidly fabricated using an electromagnetic printhead
mounted on an off-the-shelve 3-axis CNC machine. We demon-
strated how Mixel’s design and fabrication pipeline allows users
to quickly create applications with desired magnetic behaviors.
We discussed how Mixel’s hardware add-on allows to both write
and read magnetic pixels and how Mixel’s user interface abstracts
away the underlying pixel assignment and allows users to specify
high-level behaviors, such as selective attraction and repulsion, and
otherwise agnostic behavior. We showed in our evaluation that
our electromagnet can reliably create pixels of specific magnetic
strength on magnetic sheet material, that the pixels exhibit maxi-
mum magnetic strength and that the material remains magnetized
without attenuation after programming. Finally, we showed a range
of applications from selective pairing to guided assembly and hap-
tics. For future work, we plan to further optimize the hardware to
use the electromagnet to both write and read magnetic pixel values,
to accelerate plotting times and increase magnetic pixel strength,
and to explore fabricating 3D geometries with magnetic behaviors
in one go by 3D printing with magnetic filament.