I'm working on a POC to try and find desk occupancy in an office. The aim is to identify which desk is occupied and how many are free and where are the free ones. Also I would like to identify who is sitting at what desk. What are the ways I could do that?

Some of the options I have are to track Bluetooth devices signal strength, Wi-Fi probes, IR or ultrasound options.

One idea is to use active RFID tags and one RFID reader per desk group. A desk group typically contains 4 to 6 desks/laptops.

I'm at the moment trying to determine occupancy through the laptop placed at the desk. As long as laptop is on the desk I'm happy to assume the desk is occupied. Even when the person takes a break this should work. The RFID reader can be integrated to say PI and send the data to cloud to trigger other events. I'm not sure how this will work.

Wi-Fi probes to detect the connections to the nearest router was initial idea. But I have done obligations to track the people without consent. That's parked for now.

Has anyone did this? Any ideas how to get this?

  • Passive RFID has a range of only a few centimetres; sounds like you would need active RFID, which is much more expensive - especially since you will need one reader per desk. In fact, you will have problems because each reader will also pick up the tags from the adjacent desks, although some clever software could sort things out. And you still have not defined "occupied" - just at one exact minute? What if I sit there for most of 8 hours, but have gone to fetch a coffee when you scan? How long do I have to be absent for you to consider the desk free? Dec 14, 2018 at 7:31
  • Happy New Year. Now that the holidays are over, could you please update the question to contain all the info that you have given in comments, plus any more details you might know but have not yet stated? When you do, we will work to help you Jan 2, 2019 at 9:29
  • 2
    I've cleared up a lot of comments here and incorporated the key info into the question; be sure to take Mawg's advice and add any further relevant information with the edit button.
    – Aurora0001
    Jan 2, 2019 at 10:37
  • Thanks for that (+1). Now we have a question that we can get our teeth into. Alas, as it stands, we can possibly count the number of occupied desks at a desk group, but not really say which are occupied. @PNDev, is that level of granularity acceptable? Jan 7, 2019 at 10:34
  • 1
    Apologies for the delayed reply. I'm totally overwhelmed and thankful for the very effective responses. Unfortunately I had to prioritize other features from our Smart Office ideas instead of desk occupancy due to timelines. So I had to stop working on this (for now) concept and focus on others.
    – PNDev
    Jan 7, 2019 at 12:15

7 Answers 7


Infrared detection of body heat sounds like your best bet, with sensors in the ceiling above each desk.

Triangulation of signal strength is a nightmare, even assuming that you can force everyone to carry a device.

You might consider something like checking if the PC at that desk is logged in or not, but that relies on people remembering to log out.

Ideally, you want a solution which does not rely on anyone doing something. Infrared seems best.

  • 1
    There are off the shelf PIR sensors for this, you mount them under the desk and detect the persons knees when they are in the chair. A UK newspaper got in to trouble for installing them on reporters desks without telling anybody a few years ago (Telegraph 2016)
    – hardillb
    Mar 24, 2020 at 13:26
  • A great anecdote (+1). [Here](Telegraph 2016) is a link to an article about it. Mar 24, 2020 at 13:38

Maybe a light barrier between the two front legs of the desk? Assuming they are not standing desks some part of the leg or chair will interrupt the barrier most of the time.

At least at my work all of the time. But maybe that is because we all work on computers.

  • That might detect a chair, not necessaries a person. I don't know about you, but when I leave a desk or table, I push the chair back under it, so that it won't get on the way. Dec 15, 2018 at 7:28
  • @Mawg Then you are more considerate than us or you have small offices. But yeah you got a point that can be
    – findusl
    Dec 15, 2018 at 18:33
  • 1
    Just the way my mum brought me up :-) If I didn't put that chair back, I would be in big trouble - the kind where she calls you your full name, including any middle names, if you know what I mean :-) And, yes, that's a use case that you need to take into account. Dec 16, 2018 at 8:25

Considering all the conversation from above, I think the following should satisfy your needs:

  1. Have RFID sensor under each table

  2. Have RFID tag under each chair so it can be reported to nearest table whenever/wherever used

  3. Have a pressure sensor under each chair to identify if anybody seating on it. Disk type pressure sensor can be easily put in chair or back-support. Example of such sample only for reference purpose: ASIN: B073WD9Z18 (though I am not affiliated with this product).

  • I was thinking about the pressure sensor idea as well, but how would you apply it? Cutting open the seat and putting it inside?
    – findusl
    Dec 19, 2018 at 8:48
  • @findusl - thanks for pointing. i have edited my answer with suitable example. hope that helps.
    – JPI
    Dec 20, 2018 at 9:10
  • RFID would have to be active, no passive, so $$$ Dec 21, 2018 at 9:23
  • @Mawg i thnk passive RFID is sufficient enough because chair-table distance will not be more than 10 feet on the floor. Some passive RFID has read range of 50+ feet so passive RFID should not be problem.
    – JPI
    Dec 22, 2018 at 12:52
  • 1
    Btw, if you have a pressure sensor on each seat, why do you need RFID tags or anything elese? Jan 7, 2019 at 10:37

Like JPI says in his 3rd point, how about having a weight/pressure sensor on the chairs sending the weight measurements periodically? This would be the most fool proof as RFID can mislead if a chair is just moved towards a table without anyone sitting on it. Pressure sensor will actually give you the info about occupancy and then that could be combined with the RFID to check which desk has the closest proximity to a chair.

Hope it helps.


Another option is if using a hotdesk feature on the desk phone, you could read that information.

And with the previous mention of using the PC to sense logged in user you could force log out after a set time, i.e if shifts all finish at 5pm then 530 it could prompt the user to log off, if no response then log them out, if they are working back they could opt to snooze the auto logout for X hours.


You can do a Wi-Fi sniffer with an ESP8266 and you will be able to know how many smartphones are in the vicinity, in this way you will be able to know in a very approximate way the number of people in the office.

You can see it as an alternative to the deployment of a sensor (whatever the type of sensor chosen) by desktop.

GitHub Project - ESP8266 WifiSniffer


I found not one, but two, solutions at Hackster for exactly this problem:



[Updat] and here's a bed occupancy project which could be adapted

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.