hobby tech

PiOnAir - DIY WFH Indicator


I've been working from home for years, long before it became mainstream. But previously my wife would go to the office, and I would stay home alone, so it worked fine. Now, however, we have a kid, and she's at home. And I also don't want to just shut myself up for X hours a day saying "don't bother me in this time", because that's just not fair. I often do have time to help out during the day and don't mind it. Sometimes there's a lot of work, sometimes there's not much of it, sometimes I need to focus on somethings, sometimes I'm on a call, sometimes I'm not.

So, some form of indicator light sounded like a great idea. The problem was that I don't have any way to power any kind of bulb above my door, and neither did I want to use hallway light fixture for this.

So this is how the idea was born. Meet my DIY WFH Indicator that I called PiOnAir.


It's a Raspberry Pi Zero W with a Respeaker 2 pHAT which has 3 LEDs on it. I had it left over from other projects.

It works off a USB powerbank, and with a 4000mAh one lasts for about 20 hours or so, about 48 with 10000mAh one. I just did not want to put any wires around my door.


The case - Mikrotik CAPs come with two cover cases, so naturally you are left with one that is basically useless piece of plastic. Turned out to be perfect housing for the project. Yes that's just hot glue.


Works like a charm. Wrote a little Flask web interface and API to control it. Light does not shine constantly, instead it blinks to save the battery a bit.


It has 6 modes: Green, Yellow, Red and Alarm (yellow-red fast blinking) as well ass "Light" (bright white light) and "Off" to turn it off. Green means I'm free, yellow - busy, red - very busy, Alarm - I'm on call.

I used it for a while, but thought that maybe it's kind of... a wrong thing, or maybe not as useful for my wife. But then after I stopped using it, she came to me and asked to put it back, because she actually did find it useful.

It also keeps a record of it's maximum uptime and then estimates how much battery it has left. I did not yet find an elegant way of making sure this persists across reboots... Ideally it should be remade with some ESP, some proper battery pack, and the like, that could last a lot longer and provide proper battery information, and just be a lot cheaper. Something to consider for later projects. For now I just want to get a smaller power bank to pack it inside in a more neat fashion.

I'm also planning to integrate it with Slack or Discord either through HomeAssistant or through another script.

I also need to come up with a better mounting system...

If someone's interested I might put the project on GitHub, however currently it's purpose-built for Respeaker 2 pHAT and won't work with other LED options. Should work with any Raspberry Pi though.