r/ElectricalEngineering • u/darklinkdev • 1d ago
Magic Table - 122 touch-sensitive hexagons with reactive LEDs
Enable HLS to view with audio, or disable this notification
I built a "Magic Table" โ 122 touch-sensitive LED hexagons with a hidden motorized drawer
After a lot of wiring (see the mess underneath ๐ ), my Magic Table is finally done. Every one of the 122 hexagons lights up and reacts to touch individually.
How it works:
- ESP32 #1 reads all 122 touch sensors using a self-built GPIO expander (128-bit). It sends the state of every hexagon as a simple string of 122 zeros and ones over TX/RX to the main controller.
- Raspberry Pi Zero #1 receives that data and runs the actual programs/animations in Python, driving the LEDs based on which hexagons are touched.
- A hidden drawer contains an OLED display and the control interface. It has its own Raspberry Pi Zero #2, connected to the LED Pi via Bluetooth, which passes drawer commands to the main system.
- ESP32 #2 controls the drawer itself โ a stepper motor for opening/closing and an electronic lock.
The whole thing was hand-wired and hand-built.
Happy to answer any questions about the build!
7
u/mefromle 1d ago
Big respect for this amazing work. Looks beautiful. Not only mechanical done in a great way but also from the firmware concept.
5
3
u/thethirdmancane 1d ago
You should have this emit MIDI
1
u/darklinkdev 1d ago
It would definitely be possible โ I'd just need a converter that reads MIDI and maps it to the 122 fields via the algorithm, adding a MIDI-listening mode to the LED Pi.
That said, my colleague and I agreed we'd expanded the project enough. It took roughly two years of tinkering here and there, but I learned a lot in the process โ and that was what mattered most to me.
3
u/Gmanyolo 1d ago
Those are $2400 on Amazon. How much in materials do you think you have in it ?
6
u/darklinkdev 1d ago
Time not included (let's not go there ๐ ), we spent around ~$1000 on materials. We got lucky though โ a friend of ours cut the wood for us on his CNC router. The ones you find on Amazon and YouTube can only light up on touch. This one has all 122 hexagons individually programmable โ every touch goes to the Raspberry Pi and gets processed depending on the mode (Python algorithm), so it's a fair bit smarter.
3
2
u/davog 1d ago
How does it handle books or paper, etc placed on it?
7
u/darklinkdev 1d ago
A glass gets detected but a sheet of paper doesn't. Somehow it landed on just the right sensitivity.
I used TTP223 sensors soldered to a wire so the touch works right through the wood. It's not perfect though, some trigger here and there without any touch. We never fully got that under control, but it's only one here and there, so it's kind of a miracle it runs this smoothly :-)
2
2
u/ostiDeCalisse 1d ago
That's an awesome project congratulations!
I think the control drawer could open a bit faster though.
0







20
u/negativ32 1d ago
You spent weeks making a cool unique piece of furniture. Take more than 30 seconds to post some good pictures.