Introduction: How to Make a Ridiculously Cheap Analog Pressure Sensor

Picture of How to Make a Ridiculously Cheap Analog Pressure Sensor
Tired of paying exorbitant amounts for a simple analog pressure sensor?  Well here is an easy smeasy way to make an incredibly cheap analog pressure sensor.  This pressure sensor won’t be terribly accurate in terms of measuring precise weight or things of this nature, though it can be calibrated somewhat and if you choose to coat it in something like Plasti Dip some of the variables such as humidity and the like can be minimized.  However, what this analog pressure sensor is best for is for creating things like bumper sensors that can read variable levels of pressure and various other touch / pressure sensor applications.   Find more interesting things like this in the How-to section of my website


  • Any static dissipative foam (If you’ve ever ordered any IC chips, you probably have some lying around.  IC’s are often set in this foam for shipping.) or if you don’t have any, you can pick it up from a variety of places, such as this
  • Wire
  • (optional) Plasti Dip Rubber Coating


Step 1: Step 1

Picture of Step 1
Step 1:

Cut the foam to the size you like.  You can cut it quite small and still get a good range of resistance levels.  The foam in this picture is cut to less than half an inch square and about 1/4 inch thick;  once completed these two each produce a range of around 2.6K Ohms down to 400 Ohms when squished completely.

Step 2: Step 2

Picture of Step 2

Step 2:

Poke two wires into the foam.  Make sure the wires aren’t touching and there is a bit of a gap between the two so that when squished they won’t touch.  To make sure the wires don’t come out while in use, I poked the wire all the way through and bent them at the ends.

Step 3: Step 3 (optional)

Picture of Step 3 (optional)

Step 3 (optional):

At this point your new analog pressure sensor is all ready to use.  However, I like to put a nice covering on it to protect it from wear and tear and a little electrical insulation might be needed depending on what you are going to use this for.

My preferred method of covering the sensor is to use Plasti Dip or equivalent liquid plastic coating.  If using Plasti Dip, dip once slowly and hang the sensor to dry.  Wait 20 minutes and do this again.  That should give a nice thick coat on the sensor.  The Plasti Dip will stiffen the sensor quite a bit, so don't put too much on if you want it to stay extra squishy.  In this case, one coat is probably enough.  Play with it to get it to your liking for your particular usage.

Alternatively, you can just wrap it in electrical tape or equivalent, but I’ve found that tends to not hold up well over the long haul.  It also carries the potential bad side effect of the adhesive on the tape causing the foam to not be able to re-expand over time and thus ruin the pressure sensor.  Plasti Dip doesn’t seem to have this problem in the sensors I’ve made.

I've also tried using a little bit of visqueen cut and wrapped over the pressure sensor and sealed around it.  This worked pretty well.  And of course, you could just not put any covering on it at all if you aren't worried about electric shock in the usage you are using these for.

Step 4: Test

Picture of Test

That’s it.  At this point, test it on your multimeter, if you have one.  You should see a nice range of resistance depending on how hard you are pressing or not.  If necessary, you may want to hook up a resistor with this depending on your usage.

Find more interesting things like this in the How-to section of my website


dikshad4 (author)2017-01-16

Can u interface it with a Arduino?

AndreM49 (author)2015-11-24

Anyone knows where exactly I can buy those exact wires from? preferably a know local store?

wgriffith (author)AndreM492015-12-10

its solid copper. my guess door bell wire. you can get it at any hardware store.

BoazK (author)2015-07-12

Hello, I'm really new and I don't have a Multimeter. I found a really basic one.. is it enough for this type of sensor?

It just doesn't have an auto ranging function.

N Squared (author)2015-05-02

I made a video on how to build this if anyone needed more detailed instructions:

joseph.m.jessup (author)2015-02-12

The foam used in this project says static dissipative foam, but the link is black conductive foam.. they have different properties. Which one is actually being used here? Thanks

wes2013 (author)2015-01-08

And happy new year

Brain55 (author)2015-01-05

And happy new year

Brain55 (author)2015-01-05

And thanks for the great instructable and idea

Brain55 (author)2015-01-05

If I wanted to see if somebody stepped on it about how much would it go up, do I just connect the + wire to 5v and - wire to gnd on arduino, and to get a value from it what code would I put. I'm fairly new to arduino and am in the 10-13 years range it would be very helpful to me if I received answers

JeffreyH (author)2014-12-28

How could one use this to sense a peak pressure from a fast event? I've made several versions of an air-gun that shoots marshmallows. A chronograph doesn't give accurate data because the marshmallow changes shape in flight, but shows velocities > 400 mph. I had thought to use some sort of force sensor (trapped between 2 metal plates) to use the force of the smack of a marshmallow to stand in for velocity, but I can't figure out how to measure the peak force, which is applied over < 100 msec. My Fluke multimeter isn't fast enough. I know nothing about Arduino (I've tried reading websites, but the ones I've found assume you have basic Arduino knowledge), but I'd be willing to build something based on arduino, if instructions for absolute newbies are available. Thanks for the really cool idea.

cristiantuerca (author)2014-12-19

Wow, life is a every day learning. Thanks for sharing!

albenbrewder (author)2014-12-18

This application has a lot of potential, Next time I get some conductive foam I'll give it a try. However, there is one electrical circuit modification which may give better results... Use a "Kelvin" connection for the lead wires. In this way, the difference in contact resistance between your excitation leads and the foam is eliminated. To use, supply current to the foam through one pair of wires (low impedance) and read the voltage drop (high impedance) through another pair .

To explain.. see Wikipedia

SamanthaO (author)2014-10-16

what type of wire do you use though?

ArisenProdigy (author)SamanthaO2014-12-04

It looks like solid copper wire.

SamanthaO (author)2014-10-16

what type of wire do you use though?

SamanthaO (author)2014-10-16

what time of wire do you use though?

harristotle (author)2010-02-07

This is a great idea.
In my hands, when I built a version that had the conductive foam sandwiched between sheets of aluminium (ie very good surface area), the resistance jumped around a lot, even when no force was applied or the same force was applied.

I am wondering whether there is much difference between different types of conductive foam?
Aren't they just graphite in polyurethane foam?

Any ideas to make the sensor more stable?


DonQuijote (author)harristotle2014-10-01

you might have build a resonant capacitive circuit that picks up 50/60 Hz from the lines in your walls.

i would put it in a resistor divider and look at the signal from it on an oscilloscope, or at least plot them with processing or something. if they fluctuate sinusoidally at 50/60 Hz, you found your culprit

harristotle (author)DonQuijote2014-10-01

Thanks DonQuijote, that is an astute comment.
The problem is evident on a multimeter, set to resistance range, so I suspect not. I will have a look again though, with shielding. I also have some copper tape on order from China, and I'll try that to see if there is perhaps an "oxide layer" effect. (Knowing my luck, aluminium oxide will turn out to be piezoelectric !!! :{ )

hiskeyd (author)harristotle2010-02-07

So did you have the wire soldered to the aluminum?  I've only done the "poke the wires into the foam" way and I've never seen the value jump around; it's generally pretty consistent in my experience.  If you have the wires poked into the foam and the plates are just somehow causing the resistance to vary, you might try putting an insulated later between the aluminum and the foam and see if that fixes it.

hmmm. ya i can't think of anything else here why this might be happening.  it seems like even if you have the leads hooked up to the plates, it should give pretty steady values assuming good contact with the foam on both sides.  If the contact between the foam and plates isn't very good that might cause a little jumping when it's just sitting there, but I expect it would steady out if pressed and be proportional to pressure from then on.  Sorry I couldn't be more helpful.

harristotle (author)hiskeyd2010-02-07

Hi, thanks for your reply.
I had good contact between croc clips, multimeter and aluminium.
I had very good contact between aluminium and foam.
I also had moderate pressure in the foam at all times due to my cable ties (see attached picture).

I just wonder if there are different grades of conductive foam. It is very strange, don't you think!

Mark Rehorst (author)harristotle2011-06-27

You'd probably be better off using a metal that doesn't form a nonconductive oxide layer upon exposure to air. That means almost any metal BUT aluminum.

moses.jhai (author)2014-09-09

Thanks for posting this idea. I'm very new to things like this, but I was wondering if I could use it as a switch / trigger to turn something on? And if so, a general idea of what that would look like: power source to analogue sensor to a relay(?) to a low voltage device. That's just how I'm thinking of it, but could use some help. Thank you!

codongolev (author)2014-06-25

there's a product called liquid electrical tape that forms a really rubbery flexible coating. that may work better than plasti-dip.

LED forrest (author)codongolev2014-07-23

that stuff is so usefull

amason9 (author)2012-03-03


These would be easy to hook up to an arduino, right? What would I need to do in the system to pick up the resistance change on the circuit?


roastprof (author)amason92012-03-24

You could build these into a potential divider to get a change in voltage as an analogue input. Or you could build a Wheatstone bridge to find the unknown resistance.

bikeboy (author)2010-02-09

In Belgium, anti-static foam is apparently harder to find. I had some that had a silver shine to it and came wrapped around an usb pci card, but sadly it didn't conduct any electricity (how strange is that?).
Then found some active carbon foam on ebay (used in kitchen hoods), which comes in large black sheets. I soldered electrical wires to 2 pieces of 5 eurocents, put some carbon foam between them and sandwiched that between 2 squares of duct tape. Really sturdy and worked fine on my Arduino. Needs quite a bit of pressure (fingerwise), but you can always press on the edges, they're more sensitive there. Use it to modulate music parameters in Pure Data, Fruity Loops, etc... via Arduino (patch available in Pure Data). And when no pressure is applied, it doesn't conduct (although that might not be the case with large (A4 size) surfaces, I've recently discovered).
I'm thinking of making a Really Big Pessure Sensor (2 x 2 meters), hook it up to the Arduino and jump around on it, possibly combined with a homemade graphite paint to make it position sensitive, but that another story. Feel free to steal the idea and help me over the obstacles.

brendanmccloskey (author)bikeboy2010-12-02

I am hoping to build my own large FSR, approximately laptop-sized, to detect both X/Y position and pressure; a fellow PhD student is also hoping to do something similar, but on a much larger scale. Have you had any success with this?

bikeboy (author)brendanmccloskey2010-12-02

I made and an A4 sized XY prototype pad a year ago. But I it didn't give the signal I hoped for. The pad was a sandwich of (from top to bottom) 1) an A4 sheet of aluminum foil connected to +5V 2) A4 sheet of activated carbon foam 3) A4 sheet of paper painted with homemade graphite paint ( graphite or charcoal powder with acrylic paint medium or white wood glue ) and with a strip of aluminum foil on each side (applied when paint still wet). The strips didn't touch each other in corners and were each connected to a grounded resistor.
The reasoning was that this would form 4 variable voltage dividers: when pressure was applied to the aluminum foil and foam underneeth, a current would flow from the +5V aluminum foil through a variable lenght of the graphite paint, through the fixed resistor and to ground. The voltage messured over the fixed resistors would vary in function of the position of the pressure point. But messured values didn't make much sense, maybe because the paint was not homogeneous enough? Maybe the values of the fixed resistors were too low and drained the hell out of the voltage source (thus dropping it's voltage).
Anyway, I did something similar with only one axis on a strip of paper that was darkened to saturation with a pencil (took me half an hour of scribbling) and it worked well as a ribbon controller. I'd suggest you start scribbling on a small square of paper and go from there. Keep me updated on

brendanmccloskey (author)bikeboy2010-12-03

Thanks for this detailed and comprehensive reply; I will keep you informed of my progress (this research is leading to an important element of my PhD in creative interaction design)

bikeboy (author)brendanmccloskey2010-12-08

Off course it didn't make sense (and I had discovered this before but forgot it all together): Let's say that we'd move our “pressure point” in a perpendicular line towards one of the aluminum side strips, expecting to see an increase in the voltage over the resistor connected to that strip (because the length of "resistant paint" in front of the strip would gradually decrease and so would it’s resistance). This would only be true if it weren’t for the two strips parallel to our line of motion (remember the four sides have strips). They conduct almost all of the electrons “emitted” by our pressure point towards our measured resistor, with a their negligible resistance which is not really changing either in function of our movement (1 cm length of alu strip will conduct pretty much the same as 10 cm) , so our length of resistor paint will be of almost no influence on the total resistance, as resistance will always be very low due to these strips. So the voltage measured over the fixed resistor that is connected to the perpendicular strip will stay almost constant ( = almost source voltage).
What could work is the same setup with four electrodes in the four corners of our resistant paint sheet, attached to their respective resistor. Shame on me...
Some has got time to test this?

8bit (author)bikeboy2010-06-01

Thanks for the tip! 

docboggle (author)2010-10-26

By the way, if you want to order a small amount of Conductive antistatic foam material for very low cost, go here

at $0.90 per 4" x 5" piece, how can you go wrong?

techiebot (author)2010-02-15

Seems like you could make drum pads.  But I think using piezo elements is a better way.  Look up todbot and his tutorial on "Spooky Arduino".  There are also other sources using a microprocessor and piezo element for a drum-like instrument.

Sam Grove (author)2010-02-07

I suggest placing the foam between two squares of thin pcb to which the wires are soldered.

harristotle (author)2010-02-07

BTW, it is moderately linear - see attached

As you suggest, the errors decline with force.

Foxtrot70 (author)2010-02-04

Excellent work.  I like the fact your not stuck in overly technical terms,  the use of the everyday word "squished" helps to explain on a broad level.  Keep up the good work!

ProfessorJWN (author)Foxtrot702010-02-04

Yeah, unless you have to talk to engineers, torsional fatigue, compression,  stress concentrators, etc. all are a pain to non engineering "folk".

Bend, crunch, snap, stretch, much better.

"Hulk Smash!!"  not "Hulk Longitudinally compress!"

 "Hulk will now attempt to exceed durability of the structural envelope.!"


Great instructable !!!

piddle01 (author)ProfessorJWN2010-02-05

Haha I want to major in mechanical engineering and maybe minor in electrical engineering.

Fred82664 (author)2010-02-05

cool they could be used in a lot of robotic crickets  

twojima (author)2010-02-04

so with these, I could make my own drum pads for something like rockband or guitar hero, or am I way off?

lampajoo (author)2010-02-04

check out the next instructable in the series: DIY landmines

shalow (author)lampajoo2010-02-04

Do your homework next time, they are already on instructables ;)

Thav (author)2010-02-03

Similar instructable here

Neat to see you don't need the copper board though. Good idea sealing it.

frollard (author)2010-02-03

Wonderful build with professional looking results!  Excellent!

troseph (author)2010-02-02

I'm curious just how this works.

frollard (author)troseph2010-02-03

if I recall the weatherstrip is very slightly conductive - and pressing harder makes a) better contact between the copper wire and the foam, and b) better contact between individual cells of the foam, lowering its internal resistance.

thecheatscalc (author)2010-02-02

Pretty good idea!
I'd bet it'd be even easier if you put two plates on either side to squash it. (ie foam sandwiched by two copper plates, with wires soldered to it. )

About This Instructable




More by hiskeyd:How to Make a Ridiculously Cheap Analog Pressure Sensor
Add instructable to: