Impact Sensor Ideas

I've had an idea floating around my head for quite a while to build a physical game interface using a "sword", where the sword will be a wooden handle and shaft with thick foam covering (like a Fun Noodle over a medium thickness dowel). The sensors for the game would be a set of targets arranged around the player, perhaps 4 or 6 padded posts rising from a platform or even suspended from above (or maybe both for more sensors).

I haven't done any experimentation on the sensors yet, but I've had a few ideas (they are very similar to drum sensors) and I wanted to know if anyone had any ideas or experience in building these kinds of things.

The requirements would be:

Very sturdy, rigid supports than can stand a pretty hard whack with the "sword"

Sensors that would reliably trigger on a hit over a large area of the target, but not so sensitive that it would trigger on false hits from nearby sensors (or ambient noise/vibration).

Proportional (analog) response would be nice, but not essential (most of the time, if the sensor input was analog, it would just be compared to a threshold value for a hit/no hit determination).

I've mulled over microphones, piezo elements, conductive foam with foil or mylar surfaces for variable resistance or capacitance, flex sensors (either on the surface or mounting the targets on stiff springs), and accelerometers (probably a good choice, but more expensive than I would like). They all have their pros and cons (some more than others). Any ideas?

Hollow rubber cylinders and air pressure sensors.

Hollow rubber cylinders and air pressure sensors.

I can see how a rubber disk with a mirrored bottom, a (cheap) laser LED pointed at it, and a ldr in the normal return path. In theory, hitting the disk should deflect the light away from the sensor momentarily.

Also: rubber-disk, metal-disk, hollow-spacer/o-ring, flexible metal disk, flexible rubber disk. Connect the circuit across the two metal disks, they'll be normally open and close when you force the outside disk against the inside one. Such a method worked amazingly for dance pads capable of supporting 350lb+ people jumping up and down. Some fine tuning is nessessary to reach the equilibrium between 'measures every hit' and 'random spurious hits'.

Although, I think pressure sensors are a good bet.

Good ideas (plus I’ve got a few air pressure sensors lying around).

What about an accelerometer? You could look for short-duration, high-g signals that would be unlikely to arise from anything other than a sudden impact. For example, you don't experience 6gs very often while running around, but if you smack an accelerometer with a stick you might get a 6g reading briefly.

  • Ben

Certain kinds of foam will change conductivity under pressure. If you sample with AD fast enough, you can probably use that.

I don't have a link handy, but search around for "conductive foam" and "pressure sensor". It's a trick that robot hands use to sense grip strength. Whacking a foam pad with a sword would probably give solid readings.

Theres an example somewhere in the playground of someone who build one of those boxing punch bags with 64 homemade preassure sensors attached to it. If i remember correctly the sensors are made from two layers of cobberwebbing material with a piece of antistatic foam in between. The whole thing sandwiched in between some stiff material. They used 4051 analog multiplerors to get a lot of analog inputs. These sensors are preassure sensitive.

if you make it conductive, maybe you could just look for a change in capacitance? or even make it work like one of those old doctor games where you ahve to pull out the plastic parts without touching the metal sides of thw hole...?

They used 4051 analog multiplerors to get a lot of analog inputs.

If you’re only after a hit/no-hit status, you could use some comparators set against the hit/no-hit threshold to interface with the Arduino digital pins. (assuming you’ve exceeded the Arduino’s analog inputs)

Here's a link to the project i was mentioning above:

I like the idea of an analog value for the sensor. I know several SCAdians, and one of the methods of their tourneys is basically an eyeball judgement as to whether the foam-covered sword or mace hit hard enough to do an injury, or whether it was merely a glancing blow.

An issue that occurs; most sword-play styles I know of involve the intentional blocking of sword by sword, shield, parrying dagger, etc. How would your game discriminate between a parry and a hit?

I am interested in these sensor ideas for swords for my own theatrical purposes; I've been contemplating triggering sound effects off of prop swords to juice-up an on-stage sword fight. Will be following this thread with interest.

An issue that occurs; most sword-play styles I know of involve the intentional blocking of sword by sword, shield, parrying dagger, etc. How would your game discriminate between a parry and a hit?

I believe the idea is to have the sensors on the targets, not on the sword, so they would only trigger if you got your sword past the parry/block and made contact with the target. At least that's what I envisioned when reading the opening post.

  • Ben

I've seen impact sensors on cheap toys (e.g. Happy Meal toys, or stuff that's several for a dollar) that consist of a pin and a spring mounted around the pin. On impact the spring's own mass flexes it into the pin, making momentary contact. A similar setup looked a bit easier; it looked to be an NC arrangement, with the spring mounted horizontally across a large solder pad. Imapact would cause the spring to flex away from the pad, creating an open on the normally closed circuit. A little clever mounting would allow it to be an NO device. (Note this latter example is rather planar in nature.)


Yeah, I've seen those kind of sensors inside those clear rubber bouncy-balls that light up and make noise when you bounce them. Unfortunately those sensors can be fairly dependent on the direction of the impact, but in an application like this it seems like the direction of the impact will be pretty well constrained and known beforehand. Of course unless you create a sensor using multiple springs of varying stiffness, you won't get an analog result for the impact strength.

  • Ben

Wow, thanks for all of the ideas.

My son and I have been brainstorming on different kinds of games to play with foam swords and mounted sensors, not all of them really related to "sword fighting" (although several of them are), so these are all really good ideas. While we were messing around in the garage this weekend, we built two "swords" out of PVC pipe and Fun Noodles with plywood handguards and rubber taped handles. In addition to "dueling" around the yard, we also used them to investigate the form factors for different game ideas.

I think the first sensors I am going to build are going to be rigid, foam covered uprights (maybe steel pipe cores) with modulated IR LEDs and sensors on both sides. With the emitters on the ground facing up and the shielded sensors on the top looking down, it should be almost trivial to recognize a "hit" on either side of the upright by looking for occlusion of the light beam. My initial idea is just for a game that's somewhere between Simon, Dance Dance Revolution, or Guitar Hero, where you have to strike the targets in a certain order with a certain timing to succeed. I think this will work well with two "swords". There are many different game themes that would work with this type of setup with four or six (or more) sensors.

My son wants to do more of a virtual combat type game, so we've also been thinking about body mounted sensors, shields, etc. Should be a fun summer...

I think this is overly complicated and expensive. The infrared idea may well work to determine the target that was hit. I do not think you will easily extract the exact hit moment, wich would be desirable in a contest or training situation. Also to determine hit force would maybe be possible but complicated.

Two nice cheap and simple ideas in this thread:

For the sword: I've seen the switch sensors k4wsv mentioned in de drumsticks of a drumming toy. It's a normally open switch. It consists of a coiled spring , inside the spring is a metal spike. Both have a wire attached. Impact bends the spring, and it clashes against the spike, closing your switch. Works from every direction . Great little gadget simple to build yourself.

For the targets: I'd go with the piezo sensors. Cheap, easy to implement, VERY resonsive, I would recon you'd need just one inside a punchbag to pick up the signal with any hit. There are some tutorials and sketches around.

Now combine these two, register a hit when both sensors react within a certain timeframe. The piezo also senses hit force.

Ehrrm.... come to think of it, piezos may be all you need. I guess I just had to elaborate on the spike/spring sensor, they're so cute and simple!

The pressure sensor idea is still pretty straightforward compared to many of the previous suggestions. All you need is something airtight, like a rubber ball, a rubber hose with the ends sealed, a plastic bottle, etc. Attach a hose and run to one of these:

You can get those from Digikey for about 10 dollars. You get to select the pressure range you want, and it will output a proportional voltage which you can amplify and read with the analog sensors. Or just have several comparators and output digital signals when the pressure is above a threshold.

It will register varying amounts of pressure, it's omnidirectional, you can make a target in any shape. You might want to use self-supporting rubber targets with a pinhole for pressure equalization in different weather.

You could attach lengths of clear vinyl tubing to targets, maybe even a training dummy. Put LEDs inside the tubing and light it up to indicate the next target.

It's the same principle as the road sensors they use to count cars, with the hose running across the road.