I have an idea going on in my mind but I am not sure if it is even feasible, so please be patient!

Here is my problem. I have a set of chairs, say several dozens. I would like to be able to monitor at any time which chairs are occupied (i.e., someone is sitting on them), and I would like to do this in a way that is at the same time cheap and easy to maintain.

After thinking about some complicated and involved heuristics with cameras, proximity sensors etc, I figured that probably my best chance would be to detect pressure under one of the chair's feet. It should be reasonable to do something like this: there is a significative difference between maybe a few kilos of an empty chair and the, say, 50-90 kilos when someone is sitting on them.

I gave it a try with a force sensitive resistor and a Spark Core, and it worked fine. Actually, I was expecting that! When some pressure is detected, the Spark Core will send a signal through WiFi and I can detect if someone is sitting on the chair.

This solution, however, is neither cheap nor maintainable: a Spark Core can cost up to 40$ and I have to power all this! Since I don't want my users to stumble upon power chords, all the chips should be powered by battery, meaning that batteries need to be charged somehow, and so on, and so on.

So I thought: is there a way to make this more simple? Here is what I would like to do:

  • When someone sits, I generate some energy from the change in pressure (e.g.: piezoelectric?)
  • I use that energy to just blindly send out a signal (that doesn't need to be as complex as a WiFi signal, it should just be a simple signal since I want just to be able to tell if someone is sitting or standing up).
  • Some antenna receives that signal. It is sampled by, say, an Arduino or a Spark powered on a desk.

This, however, has some issues. First of all: can I generate enough energy to send out a signal? Moreover, can I make those signals different between each chair without the hassle of using some very complicated or expensive device? And... how could I do that?

I am definitely not an expert in electronics, so if you could make as few assumptions as possible, that would be great.

  • \$\begingroup\$ Sounds similar to the early version of EnOcean which used piezo, later replaced by coils. So it is possible but tricky and is covered by some patents. \$\endgroup\$
    – Martin
    Jun 23, 2015 at 20:58

1 Answer 1


you could port your code over to a Atmel Tiny or Atmel 328 (arduino Uno) and with a few other parts (crystal clock, caps etc.), and the best part is if you make the circuit from the bare bones up (not using a prefab board) then the total cost would be $6 + the price of the sensor.

  • 1
    \$\begingroup\$ This doesn't take into account the problem of energy! How can I power up my device? \$\endgroup\$ Jun 25, 2015 at 10:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.