Building capacitive sensitive floor tiles

That title’s a mouthful but you’re already familiar with the technology and application of foot pads as sensors in games like Dance Dance Revolution. The usbddr project sought to make a USB connected DDR controller from scratch. The microcontroller used is an Atmel ATmega8 running the V-USB firmware for connectivity and uses the analog to digital converts to read in data from the capacitive sensors.

The physical implementation is cleaver. The base plate has a capacitor plate attached to the top of it and the tile has the other capacitor plate attached to the bottom of it. The two are separated by some weather-stripping which is spongy enough to allow compression, bringing the two capacitor plates together.

We’re not convinced of the long-term durability of the system. We certainly don’t think it will hold up to very much hard-core DDR playing. But we would love to see a Super Mario RPG style puzzle to unlock the door to the ‘castle’ at a child’s birthday party.

[Thanks Hans]

38 thoughts on “Building capacitive sensitive floor tiles

  1. What you ‘really’ need to be doing is creating capacitive floor titles which store the energy into batteries, which can then be used to interface into your home or some other circuit. Think GREEN…

  2. Presumably this kind of thing could be done truly capacitance sensing with one sheet of copper sensing the capacitance of the person standing on it. It is a very simple circuit to do and can sense distance from actually touching to a couple of metres.

    Mowcius

  3. This is interesting, I think the interest in DDR has mostly faded but they used a mega8 chip and managed to connect it directly to USB. I didn’t think that was possible! Googling for v-usb now.

    @mowcius that sounds like a good idea, then they don’t even need to worry about the mechanical parts failing. Would it cause any issues if you were to touch two capacitive points at the same time? But a touch sensor design would only work if they were playing barefoot. Correct?

  4. “@mowcius that sounds like a good idea, then they don’t even need to worry about the mechanical parts failing. Would it cause any issues if you were to touch two capacitive points at the same time? But a touch sensor design would only work if they were playing barefoot. Correct?”

    No, it works sensing distance so will work through any object, metal objects interfere with it a slightly though.
    You would not be touching any capacitive points then, the sensing part would be hidden under your choice of flooring…

    Mowcius

  5. @bob
    You probably want Piezo-electric rather than capactive for that. Measuring the capacitance between two plates like this consumes electricty, whereas systems that have the plates squishing down on piezo-crystals generate electricity.

    @andrew
    Not sure – but I think the screws line up with the sleeves below. On pads I’ve made the screws go through a hole drilled in the upper plate, and secure to the bottom. The upper plate then slides up and down on the sleeve / screw combo, held up by the foam, but held down by the screw head. I’m not certain how this configuration would work.

    @mowcius
    The trick with DDR pads is that most players are used to a bit of flex or give to the pads. They how much pressure it takes to trigger the buttons, and at higher difficulty / speeds don’t move their feet much off the pads.

    One would have to very finely tune such a capacitve system to pick up intended inputs, but not force the players to lift their feet higher than on other pads in order to avoid unwanted button presses.

    Add in that different thicknesses of shoes / socks / bare skin / body type and you’ll be re-calibrating every time you step up to play.

    Using two plates with known characteristics avoids that whole mess.

  6. I was concentrating more on the title:
    Building capacitive sensitive floor tiles
    and less on the DDR aspect.

    I agree that for DDR it would not be good through shoes/socks etc but it would work barefoot on conducting tiles.

    Mowcius

  7. This is PERFECT for ddr – Weather strip has LONG been a staple of home-made pads and it has just the right give; every mechanical part will need replacement eventually. Weather strip lasts quite a while under a LOT of abuse in homemade pads.

    Not sensing the actual foot, but in fact sensing the compression of the ‘switch’ is AWESOME.

  8. I don’t know, sounds interesting, I bet you can buy them on ebay!
    Come on, hackaday’s spelling and grammar is slipping!

    Mowcius

  9. What do you mean they won’t last long? It’s an effing capacitive sensor–the contacts won’t ever wear out, since there are no contacts! The limiting factor is the weather stripping stuff, which I suspect has too low modulus of elasticity (everyone makes this mistake–it feels squishy when you push with your fingers, but when you put 150+lbs of weight onto it when you’re doing DDR, you’re driving it well into the plastic region of the material and permanently deforming it–I used the same technique to sense force for a project a couple years ago).

    Also, by “capacitive sensor,” unless I’m mistaken, they’re using this system to sense the capacitance between the two plates, NOT the capacitance of the person standing on top of it. This has NOTHING to do with the permittivity of whatever’s on top of the sensor. However, this is one very important aspect of the sensor that has been missed in this design–the shielding. There needs to be grounded shielding layers on the top and bottom of the panel, preferably spaced at a much grater distance than the two sensing plates, to prevent the sensors from picking up any changes in capacitance due to nearby objects (i.e. your feet or the floor the sensor is standing on)

  10. Having worked at a Gameworks in my early 20s, I’ve had the “pleasure” of cleaning and repairing these blasted machines. There were four pressure sensors (essentially switches) on each tile, 32 sensors in total. We had two of them, and even knowing what you were doing, it was a two hour job keeping the pair of them going per week. This design also benefits from there being more support on the tile; we had to replace a lot of cracked tiles from over-exuberant “dancers” and I’m sure that this design would protect the tiles better. As mentioned above, I agree that the upward screws on the corners are a BAD idea; the original has diagonal brackets to hold everything together with two screws at each corner pointed downward and that worked decently well. Not to mention that if this thing breaks down you’re going to want to be able to dissect it, and the brackets will make that easier. Finally, as threepointone mentions, I agree that while the sensors will be a ton more sensitive, they will become less sensitive with time, as the weather stripping gets more and more compressed, and will have to be replaced. I say though, better to do that than to replace four pressure switches per tile.

  11. This got me thinking about using pressure sensor tiles (capacitive or otherwise) throughout house floors for home automation purposes. They could be hidden underneath carpets and sense when a person (or child or cat) is stepping on it and perform appropriate actions like turning lights on etc. Could be tuned to distinguish between a heavier person and a lighter pet.
    Thanks!
    Benjamin

  12. I’m the author of this project and just want to add a few words to clarify things:

    capacitor design: As threepointone already mentioned, the distance between the two plates (one glued to to upper tile, one glued to the base frame) is measured. To avoid any disturbances, the upper plate is _always_ connected to ground (so capacitive influence from a person standing on top doesn’t matter), the lower plate is connected to a portpin of the uC to measure capacitance. I didn’t notice any disturbances so far.
    I also implemented a calibration function in the firmware: You press the calibration key, press each tile fully (by standing on them), release all tiles and press the calibration button again. The maximum (title pressed) und minimum (tile released) capacitance (for _each_ tile individually) is then stored in the controller’s internal eeprom and used in the calculation during gaming. I also connected a small pot to an adc port of the controller. The firmware allows to adjust the threshold level (at which point a tile is detected as pressed) with this pot during gaming, so you can change the “responsiveness” of the pad to your needs.

    mechanical construcion:
    The pad was mainly build as a proof of concept for the firmware and circuit, so I just took stuff I had laying around. It is certainly not _THE_ best solution, but feel free to improve it (and mail me ;-). And yes, the wheaterstrip is the only thing that wears off.
    The screws in the wooden tile align with the sleeves, that’s my quick’n’dirty method to keep the tiles in place. Again, not the best solution, but it works ™.

    Have fun,
    Stefan

    P.S.: You can drop me a mail at srehm (at) lavabit.com if you have any further questions.
    P.P.S.: I’m not a native english speaker, so excuse any misspellings :)

  13. I’m with Benjamin. When I saw this post I wondered “How can I use this in a security or automation setup?”

    Would be cool for triggering things like a light in your bedroom, by stepping right next to your bed.

  14. Although I might be the last person to be told, I’m amazed, how easy capacitance sensing is.
    (and why so few people do fun stuff with it, despite the fact)

    I’ve got to try multiplexing this. (I long dreamt about a dynamic capacitive computer keyboard [which senses how extreme a key has been pressed and acts upon that. for example, assign a propability to each character, for automated spelling correction, or write different characters based on depth...]

  15. I had been thinking of making a prototype of something like this to be used in a home automation project where instead of motion detectors being used through out the house ( ugly ) to que lights turning on and off, set the floor to be pressure sensitive as to act for queuing lights, as well as the security system when enabled. Reason being for this, it wouldn’t be hard to set weight ranges to that cats and dogs wouldn’t trigger the system, as well as wondering toddlers at all hours of the morning. Nifty idea, now to see some implementation.

  16. To further clarify how the sensors work (in case you don’t want do download the complete project .zip file), I uploaded the schematic at imageshack:

    The “capacitors” are connected each to a single portpin (with a protective resistor which might be unnecessary). The portpin is switched to input mode with internal pullup resistor on, “slowly” (as in microseconds) charging the capacitor until the portpin reads a logical ’1′, the time needed to do is is proportional to the capacitor value. Then the portpin is switched to output mode and set to ’0′ to discharge the capacitor.
    In short, apart from the protective capacitor, there is no external hardware, the capacitor is directly connected to a portpin (not to an internal adc as the announcement says).

  17. @Stefan

    yep, you’re totally right, that makes perfect sense. I just got used to the system I’d been working on, which had differential capacitance inputs, so you’d need a separate guard plate. With calibration I’m pretty sure the capacitance to ground changes aren’t much of an issue. Cool project! I wish people used capacitive sensors more for everything–there are so many benefits compared to using contacts.

  18. @Stefan

    Do you know a cheap multiplexing component for this? Like an SPI 3-state Shift-Register? (well, one could use some kind of matrix, too, I guess? charge a row and column, which charges only one capacitor…?

  19. We actually had something similar used in our Martial Arts studio with smaller tile areas that would digitize footing, weight distribution, and certain other information. We later incorporated motion capture camera’s and used it all as teaching aids to correct forms and such.

  20. @pascal: You might use the 74HC4051 as multiplexer or any other part from the 74-series with analog switches (e.g. the 4066 quad analog switch). Wiring multiple sensors in a matrix might also be doable, need to think about that ;)

  21. @pascal

    A matrix of these might make a nice foot-operated keyboard. Couple that with a nice LED display system and you’ve got the beginnings of a giant computer! Now I just need to design an opto-mechanical mouse around an exercise ball.

    The first thing I thought of, though, was having one of these trigger a set of huge air blowers and/or pop-up targets like in Evil Genius.

  22. @StrangeRover

    “@ Hitek146 An “analog to digital convert” is someone who traded in their vinyl records for CDs. ;)”

    Or more on-topic-y for the site: someone who switched from analog to digital computers.

  23. Also, I’m with all the people who want to do home-automation/-security with this. Too bad I only have one room so there’s little of interest to do with this for me for now.

  24. re: uav condenser microphone
    Not having built and tested it, or even done any modeling, it is my opinion that the weather stripping in this “cleaver” (maybe clever?) build would provide too much damping to get any usable signal out of it as a microphone.

  25. re:Mechanical Engineer
    So it can works with a lighter weather-stripping, such as really thin paper and plates made with silver leaf ?
    I’m gonna test that.

  26. Although you cannot possibly avoid the wear and tear that comes with time, there are ways to ensure that your tiled floor lasts for long in good condition.
    Are you looking for gorgeous tiles? Visit us at Tiles Adelaide and get a wide array of tiles for your home.

  27. I just pulled out my old broken-down (yet very authentic-feeling and -looking) homemade pads that I made several years ago. They used sheet metal plates separated by electrical tape as switches connected to the button pins of a USB gamepad. Now on the other side of an engineering degree and feeling nostalgic for some DDR, I think I might try something like this. Thanks for the headstart!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s