Over the years, we’ve seen several variations on the concept of a motion reactive light table. That is, a table full of LEDs that have various effects triggered when you wave your arm or something above it. Up to this point however, they have normally been grids of one kind or another. This project stands out with its use of LED rings.

Instructables user Thatguyer shared the whole process in a fairly detailed build log. He explains that he chose the neopixels because he liked how different they were, and how easy adafruit has made using them. However, ultimately he used a cheaper version of the neopixel rings, purchased from Aliexpress to keep the cost of the entire project down.

The instructable for this project is pretty long and involved. Here’s a short summary of the main components:

There are five main components of the table:

(1) IR emitters — an array of simple IR LEDs that cover the surface of the table creating a uniform field of infrared illumination. These LEDs are all wired together and are on all the time (although the light is not visible to the naked eye).

(2) IR sensors — an array of IR photodiodes, wired separately so that we read the voltage on each one individually. When infrared light from the emitters is reflected back by some object (your hand, e.g.), the photodiodes allow current to flow through them, which we can measure. The voltage varies according to the strength of the reflected light.

(3) Sensor multiplexer — a set of analog multiplexer boards that allow us to read any of the IR sensor values. We will need four boards for this version of the project, since it has a lot of sensors.

(4) NeoPixels — each sensor has a group of neopixels (also known as WS2811/WS2812 RGB LEDs) associated with it; the value of the sensor is rendered visually on them. In my version, each unit consists of one IR sensor and a ring of 12 pixels — in the code, I refer to this unit as a “cell”.

(5) Microcontroller — the microcontroller runs the code that repeatedly reads all of the sensor values and renders the visual effects on the LED pixels. I provide the code for my animations later in the Instructable — feel free to copy and modify to your liking. I use the FastLED library to drive the NeoPixels.

When I reached out, he said that he’d be updating some parts of the instructable soon, mainly in the software sections.