DEV Community

Salvador Hernandez
Salvador Hernandez

Posted on

Introducing pomoDoNotDisturb

Not too long ago we got these signs at work:

Their purpose is to let co-workers know if you are available to chat or not. I liked the idea, but it was a hassle having to reach for the sign and change it. Also, since the sign is not within my field of view, I would sometimes forget what the sign was set for and would have to check. I thought that there should be a better way of handling this where I could change my status on a hub similar to an Elgato Stream Deck and it could show my current status on a screen.

That is how pomoDoNotDisturb was born. Since I use the Pomodoro method to focus on tasks, I figured that it would be nice if the hub could also include a timer that would let people know if I was available or not based on my Pomodoro status.

The end result consisted of a Raspberry Pi Zero W that talks to a Raspberry Pi 3 via USB as a USB/Ethernet Gadget. The Pi Zero has a screen attached to it, while the Raspberry Pi has a touchscreen attached to it. The Raspberry Pi 3 runs Flask which serves two pages:

  1. /hub
    1. Controls the status and Pomodoro session
  2. /status
    1. Shows current status

For more information please visit the Github repo: pomoDoNotDisturb

The toughest part was making the Pi's talk to each other. It ended up being as simple as assigning static IPs to the USB connection.

Feedback is welcomed! Leave a comment or open an issue.

Top comments (0)