I am planning to build a device able to detect and tell a server via Wi-Fi if a chair is occupied. How would you do it? And how cheap do you think the device could be?

  • 1
    For those who voted to close this question as too broad: I think it's pretty specific. With a few reasonable assumptions about the chair being rigged with the device, I would hazard a guess that one would need an Arduino board, an Wi-Fi shield and a suitable pressure sensor. Can anyone more knowledgeable than me layout a more detailed answer along those lines?
    – Ricardo
    Commented Apr 25, 2014 at 12:50
  • Do you have an Arduino board yet? Are you planning on using a specific one? Commented Apr 25, 2014 at 12:55
  • I'm just thinking at how this could be done ;-) My idea is to build something like a internet-based service to map where there are free spots in cafes
    – randomal
    Commented Apr 25, 2014 at 15:36
  • Oh wow !! brilliant idea..was just thinking about the same. This way we can implement those chairs with sensors in offices and can sense the average hour of an employee sitting on a chain and compare it with the effort time he have given to some project.
    – user1540
    Commented May 23, 2014 at 6:21
  • @gre-gor was changing the capitalization pattern of a single term nearly 4 years after the fact really worth bumping the question to the top of the page? Commented Mar 15, 2018 at 15:31

6 Answers 6


Oh wow, so many ways you could do this. To start, get an arduino with a wifi shield to transmit and read data. Familiarize yourself with how the arduino works with the shield, and how to read it on the other end. Then it's time to look at sensors you could use. Here's a couple ideas, I would recommend using more than one and cross-checking:

  1. Force sensor on base of chair: Can tell you how much weight is on a chair (Sparkfun SEN-09376)
  2. IR or sonic sensor on back of chair to detect distance (example)
  3. Vibration/shock sensor to detect if someone has sit down (example)
  4. Load sensor: literally a scale in a sensor. (Sparkfun SEN-10245)

The optimal solution if you had the cash would be to put all of them on the chair and use the arduino to compute all of the sensor values into one boolean. However, if you only could have one sensor I would recommend the load sensor which would definitely be the most reliable of all the examples I gave.

  • What's the difference between 1 and 4? Also, I don't know how well the vibration sensor would work, as if someone were to reposition themselves or if they were laughing really hard. Commented Apr 27, 2014 at 2:10
  • Yeah, the vibration sensor would only be useful as an additional check combined with at least one other sensor. As for the force sensor vs the load sensor, the load sensor works more mechanically and can measure a greater weight.
    – nanogru
    Commented Apr 27, 2014 at 2:12

For a soft seat you could sense occupancy with an LED and photo-sensor at opposite ends of a short somewhat flexible tube that gets flexed when the cushion compresses, interrupting the light. That or a microswitch would have to be the cheapest means of sensing.

Getting from there to the server depends a little on how much work you're willing to do, from rolling your own micro-controller+WiFi PCB to purchasing off the shelf parts, which may in turn, depend on whether you need to monitor one chair or a whole auditorium.


I'm not going to answer this directly, because then you wouldn't learn anything! However, here are a few suggestions:

  • Use a pressure sensor on the seat of the chair or
  • Put a distance sensor (IR or ultrasonic) pointing at the chair.
  • Use the official Arduino WiFi shield.
  • 1
    That's what I meant in my comment to the OP: if there's not enough information on the original post, just point the poster to the right direction. No need to close a perfectly decent question. Good answer! +1
    – Ricardo
    Commented Apr 25, 2014 at 13:03
  • @Ricardo Yeah, I guess I'm too used to Stack Overflow. If a question like this were asked on Stack Overflow, it would be closed within ten minutes. Commented Apr 25, 2014 at 13:13
  • 2
    Right! It would have been closed quickly on EE.SE, too. With good reasons, I guess. But we are not them, right? We can make our site the way we like it. Arduino questions are always welcome here. That's my motto!
    – Ricardo
    Commented Apr 25, 2014 at 13:15
  • Actually, the OP didn't even mention Arduino anywhere in his or her question. But that's implied :D
    – Ricardo
    Commented Apr 25, 2014 at 13:17

You could use the awesome CapSense-Library. Additionally to the Library you only need a thin piece of conducting material e.g. aluminium foil and two pins on your arduino. The only thing you have to do is experiment with different resistors to reliably distinguish between someone sitting on the chair or not. Advantages of this method are:

  • virtually no costs at all
  • easy to implement
  • not subject to wear and tear
  • should work with any kind of chair independent of material e.g.
    hard or soft surface
  • consumes next to no power (I assume the whole device runs on battery since it's attached to a movable chair)
  • could even sense a person in the process of seating her-/himself and enable you to start the music faster (my stereo for example takes a second or so to start up)

You could use Electric Field Sensing, it allows you to detect the presence and position of conductive objects even if the sensor is covered by an opaque object. The technology is used in cars to detect if someone is sitting in a seat so the car can beep at you to put your seat-belt on. However, if all you want to do is detect presence then this is no better than using CapSense.



To communicate with a server over WiFi you could use the Arduino WiFi shield, the Arduino Yun (which has on-board WiFi) or buy a ethernet WiFi adapter and use it with an Arduino board which has ethernet.


http://arduino.cc/en/Main/ArduinoBoardYun (Arduino board with on-board WiFi)



conductive foam as sensor. it chg resistance when compressed.

or use image from camera to determine if seat is occupied. only one source for all data.

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.