"Chindōgu (珍道具) is the practice of invention of ingenious everyday gadgets that seem to be ideal solutions to particular problems, but which may cause more problems than they solve. The term is of Japanese origin."

— Wikipedia

Position sensing

Options to consider:

  • Inductive sensing with magnets: Use the coils of the electromagnets as inductive sensors. A downside is the needed multiplexing of the electromagnets. During the measurement, they have to be powered off and the built-up charge has to decline. This might take up to 10 ms.
  • Inductive sensing with dedicated coils between or on the electromagnets. They might be strongly affected by the switched electromagnets. High coupled charges have to be accounted for. It is only affected by metals.
  • A Hall sensor between the electromagnets. The position of the spheres can be deferred by interpolation.
  • Resistive sensing with custom FSR layer.
  • Capacitive sensing with a custom electrode layer or electrodes between the electromagnets.

Edit 7.4.2021: Another approach would be acoustic sensing through time of flight measurements of 4 microphones placed on the corners. This idea was inspired by the laser acoustic sensors developed by Xarion.

Change of current

In the following test setup I will try to measure the change in current when an electromagnet attracts a ferromagnetic ball. The information could be used to detect a successful move or the type of the moved ball.

Used material:

  • shunt resistor with Rs = 1 Ω
  • power supply with V = 12 V
  • electromagnet P30/25 with Rm = 33 Ω
  • oscilloscope Rigol DS1054
  • steel sphere 19 mm solid
  • steel sphere 19 mm hollow
  • steel sphere 25 mm hollow
  • plastic sheet 0.65 mm

The current flowing through the electromagnet should be
Im = 12 V / 33 Ω = 363 mA.

With a shunt resistor connected to ground and the negative pole of the electromagnet we should measure a voltage drop of
Vsm = 1 Ω * 0.363 A = 0.363 V.

The actual measured voltage is 360 mV. Pretty close. A second measurement shows 344 mV due to heating (the multimeter says 34.6 Ohm).

When placing a ferromagnetic sphere directly on the magnet a temporary drop in voltage can be measured. When the sphere is removed a spike is measured. No noticeable difference could be measured comparing the voltage dips and spikes of a solid and a hollow sphere.

measurement1 The change in voltage when a steel sphere is attracted and removed from the magnet without any material in between.

The voltage dip has a minimum voltage of 244 mV in comparison to the RMS voltage of 329 mV. This means, that, according to the measurement, a current difference of 329 mA - 244 mA = 85 mA occurs when the steel sphere touches the magnet.

measurement2 The change in voltage when a steel sphere is attracted and removed from the magnet with a plastic sheet in between.

This effect is much less noticeable when a plastic sheet is between the magnet and the steel sphere. What is also noteworthy is the considerable change in resistance and respectively in current with different temperatures. In this measurement the magnet was cooler, hence the higher idle voltage. The difference between the idle states is already 14 mA. The difference between idle and dip current in this case is 69 mA.

measurement3 This measurement shows the oscillation of the steel sphere rolling back and forth on the plastic sheet until it comes to a halt. In this case the magnet was powered by 24 V.

Quick thought: The change in current seems not to be affected by the sphere size or weight. Therefore the measured current can't be used to infer the type of sphere attracted. Or can it? What if the frequency of the oscillation is measured? The different inertia of the different sphere weights should affect the oscillation frequency from which the type could be inferred. The problem then still is that the type can only be detected when the sphere is moved to another position.

New design

The new driver board could integrate two PCA9685 16-channel PWM driver chips. They are also used in the previously used PWM driver. The electromagnets I will keep the P30/25.

Current sensing via a shunt resistor seems to be a cheap yet very power inefficient solution (Si8540). More power-efficient could be a Hall Effect Current sensor like the MLX91207. They are very expensive though (96 € for 32). A seemingly good solution seems to be the current sensor ACS70331 (41 € for 32). As a multi-channel ADC two ADS7828 could be used.


I am about to resume my work on the Perlenphantom. My plan is to finally build a 5x5 display. Followingly I list the improvements I want to implement.

  • The magnets driven by the PWM signal should not emit sound. This could be achieved by well-dimensioned smoothing capacitors or choosing a driving circuit which omits PWM. The smoothing capacitors could either be placed before the MOSFETs or after. What works best has to be tested. Optimally before the MOSFETs so they do not have to hold that much charge.

  • The driver board should integrate a µC which controls all the electromagnets with individual voltages up to 48V. It can be controlled via I2C or SPI and connected in series with additional driver boards. The µC also does power management and makes sure that not too many magnets are turned on simultaneously. The available wattage can be configured via the serial bus. The individual PWM signals could be generated with the PCA9685 16-Ch PWM driver.

  • The driver board is able to measure the current draw of each electromagnet so that it can detect if it attracts an object. The needed resolution of the sensing circuit has to be determined. The sensed values are transmitted via the serial bus.

  • A single driver board should be able to control 32 electromagnets. The size is chosen in a way so that a single driver board can power a 5x5 display, two could drive an 8x8 display, and three a 9x9 display. An alternative would be a 28 channel board: 1: 5x5, 2: 7x7, 3: 9x9, 4: 10x10.

  • A configuration LUT sent to the driver board µC should enable an arbitrary connection order of the electromagnets.

  • Further research in sensing the steel spheres. Grid FSR? The sensing would be better on a dedicated board: For row and column pressure sensing. The sensing foil could be screen printed (see Low-Cost Thin and Flexible Screen-Printed Pressure Sensor)

  • Integrated heat sensing and shutdown. Maybe heat can be deferred by the measured current? Also, track turn-on time to prevent overheating.

  • The driver board is controlled by a Raspberry Pi Zero with I2C Shield.

  • Try out a P30/25 electromagnet rated for 12 V instead of 24 V. Compare performance. Could reduce the needed voltage to 24 V.

  • For connecting the magnets spring clamp terminal blocks are used. Eventually vertical connections depending on space requirements.

  • Think about a feeding mechanism, yet not too much.

Calm technology

In my work at the Media Interaction Lab I came across a very influential branch of research in HCI which to my surprise did not cross my way while writing my thesis, even though it resonates very much with the concept behind the machine. Presumably, I was too busy getting the machine to work and less concerned about its underlying theoretical concept. A common problem in developing technology.

The concept I am talking about is called calm technology. It is a type of information technology which does not demand attention from its user. It stays calm and works at the user's periphery, instead of being the center of attention. This is exactly what the intention of the electromagnetic sphere display is. It does not want to have a loud voice, rather it wants to be a slow and quiet informant.

Calm technology on Wikipedia.

Testing algorithm for optimality

A method for testing if a found path is not optimal is to swap start and target arrangement of a found path, run the path finding on the swapped arrangements and compare the number of steps needed in both solutions. If the number is not equal it can be said that the algorithm does not always deliver an optimal path.

Optimization Problem

When wanting to minimize the effort needed to move a sphere to a new position many parameters have to be optimized towards that goal: The size of the magnet and its windings, the voltage with which the magnets are excited, the size and the wall thickness of the hollow steel spheres and the thickness and surface material of the top plate. The interdependence of many of these parameters makes it exceptionally difficult to determine an optimum.

The most ciritical moment is when a sphere should be set in motion. Once the sphere is in motion the magnet has no difficulties to move it towards its position. A voltage spike in the beginning could be enough to set the sphere in motion, so that subsequently a lower voltage level could drive the magnet so that the generated heat is held at a minimum.