Interactive Disco Dance Floor

A large interactive disco dance floor with hidden capacitive sensors

Similar projects worth following
A disco dance floor that uses capacitance sensors and a high-speed data bus to provide a fun and customizable interactive experience.

It was originally built for Burning Man 2015 as a dance floor that lit up and had visualizations that responded to music. This year I'm rebuilding it with touch sensors that will respond to the people dancing on it.

See the Details section for more info and a demo video of what we have so far!

Finally something that combines the floor from Saturday Night Fever and the footstep response from Michael Jackson's Billy Jean music video!

This will be a 12' x 12' interactive dance floor made up of 144 individually controlled cells, each with a hidden capacitive sensor powered by an Atmega and communicating with the master via an RS485 bus at 250Kpbs+.

The master controller is a node.js app which runs user submitted floor programs. This means you can control the entire floor with simple JavaScript programs! Want to play music when people step on certain squares? Sure. Turn the entire floor into Conway's Game of Lfe? Why not!

The app also doubles as an emulator that you can use to test your programs while the floor is offline.

You can find all the code (controller and slaves) in this github repo:

  • 144 × Atmega168 Microprocessors, Microcontrollers, DSPs / Microcontrollers (MCUs)
  • 144 × Intersil ISL81487E 5Mbps RS485 Transceiver
  • 80 × 5050 LED strip by meter 60 LEDs per meter

  • Show Time!

    Jeremy08/20/2016 at 01:08 0 comments

    TL;DR I'm packing up the floor and heading out to Burning Man with it on Wenesday, August 26th. If you're on the playa, you can see it at 5:15 & D at The Future camp.

    Quick Demo:

    The Final Production

    In my last post, I had put in my production order with MacroFab and was waiting for the boards to come in. Last Friday they arrived and it was beautiful!

    Although, there was one problem...the blade connector for the touch sensor was missing from each board (the empty hole to the left of the Atmega chip). I emailed MacroFab and they bent over backwards to make up for the missing part. The good news is that, once I was in a rhythm, the part only took about 30 seconds to add to each board.

    (Even though there was a mistake, I was really impressed with their customer service and how hard they worked to keep me happy. So I'm still a big fan of Macro Fab.)

    A weekend of soldering and assembling and I had a full working dance floor! So far, the touch sensors are working pretty well. A few squares are a little too sensitive, but that can be tweaked in the software.

    This was the goal I had 2 years ago, and it's finally coming together!

    See you soon!

    If you're out at burning man, come find me at The Future (5:15 & D).

  • Production Order!

    Jeremy07/18/2016 at 08:11 0 comments

    Last week was a pretty big week -- I put in the full production order of 100 circuit boards to MacroFab!!!

    Test Boards

    This year I'm using MacroFab to do the manufacturing of the boards. This is a new PCB manufacturing and assembly company and I was a little apprehensive; so about 3 weeks ago I ordered a single test board. It was delivered right on time and was simply perfect.

    Isn't it pretty!

    After running it through a series of tests, all functions appeared to be working. Time to put in the production order...almost.

    Sensitivity Training

    I had been building a series of boards by hand and by the time the test board came in, it was time for more full-scale testing. The great news is the touch sensors still seem to be working well! The less great news is that sometimes they are a bit over sensitive.

    After tweaking a bunch of variables, it seemed that reducing the sampling capacitor from 22nF to 10nF makes tuning the sensitivity much easier.

    Production Order

    Ideally, at this point, I would have time to test the boards with the new capacitors and make sure this is a solid option. Unfortunately, with Burning Man about a month and a half way, I need to get the order in. So I checked everything I could and at about 3am held my breath, closed my eyes, pressed the order button and went to bed.

    So in about 3 weeks I should have about 100 boards at my door step. If everything goes well, we'll have a full-size working dance floor and an awesome party in the desert.

    Until then, more manually assembled boards and testing.

    Wish me luck!

  • How the touch sensors work

    Jeremy07/01/2016 at 01:09 0 comments

    The main thing that makes the dance floor interactive is the touch sensors under the surface. This post is going to dive into how this works.

    Read more »

  • Production Ready?

    Jeremy06/17/2016 at 18:25 0 comments

    The past couple months has been a process of:

    1. Test
    2. Find problems.
    3. Send out an order for new PCBs
    4. Test again
    5. Find another program
    6. Bang head against problem
    7. Rinse and repeat

    So pretty much, standard operating procedure. But, as of last night, things are looking up!

    Read more »

  • The Results

    Jeremy04/22/2016 at 19:58 0 comments

    Wow, it's been awhile since I've posted an update. So, you're probably wondering, how'd it go?

    Burning Man Dance Floor Retrospective

    The month leading up to burning man was a mad dash to finish the floor (and, you know, keep a day job). I didn't get much sleep during that time. It was build - test - build - test - eat. I kept running into issues with the capacitive sensors not providing readings that were stable enough at full-scale.

    Everything would start off just fine, but then the sensors would randomly detect things when nothing was there and sometimes the sensors would trigger their neighbors. No amount of filtering would fix it. So, in the interest of getting something working, I dropped that feature from the list and, instead, added a microphone to the system so the floor could react to the music playing. Then we packed it all up and threw it on the truck for burning man.

    The day finally arrived. We were on the Playa and setting up the floor. I was really nervous; I've seen many people waste most of their time out there trying to get their projects to work. I carefully plugged everything in, flipped the switch on the controller computer, and waited.

    Read more »

  • Down to the wire

    Jeremy08/06/2015 at 00:07 0 comments

    A lot has happened in the last month. I've been working nonstop on getting everything finished up and ready for the desert -- which is in a few short weeks (!!!) -- and of course we're running into some last minute problems.

    Read more »

  • Build Party Weekend!

    Jeremy07/06/2015 at 22:19 0 comments

    Is there a better way to spend 4th of July weekend than to build stuff? I don't think so.

    Read more »

  • Non blocking Capacitive Sensing

    Jeremy06/19/2015 at 23:29 4 comments

    I think I've finally created a reliable non-blocking capacitive sensor library for the Atmega!

    Read more »

  • Crystals and blocking timers

    Jeremy06/16/2015 at 23:46 0 comments

    While putting the new boards through their paces we've found a couple small problems.

    Read more »

  • We have circuit boards!

    Jeremy06/07/2015 at 21:26 3 comments

    Our first batch of circuit boards arrived and they are beautiful!

    And with the boxes of fresh components, it was like [insert your favorite holiday here]!

    Read more »

View all 14 project logs

Enjoy this project?



john jensen wrote 06/26/2015 at 01:02 point

I am gonna have to make this! but waterproof and on the deck!!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates