ESP32 Teams Presence Light
A standalone Microsoft Teams presence light based on ESP32 and RGB neopixel LEDs.
This project allows you to build a standalone device that visualizes your presence status from Microsoft Teams with colored LEDs. It's really easy to build and quite cheap.
See this video for a short overview:
Some technical details:
This projects implements the device login flow to authenticate against Microsoft Azure AD and to get a access token. Using this token, the device can call the Microsoft Graph API to get presence information for the authenticated user. The token is automatically refreshed so that it can run standalone for some time.
Everything is implemented in C code for Arduino-style microcontrollers and runs directly on the cheap and powerful WiFi-connected ESP32 board. Getting the hardware is usually no problem.
The build and setup procedure is extremely easy and well documented. The device consists of only two active parts and three wires and is powered via Micro-USB. It also features a cool retro-style web UI for configuration.
Libraries used
This project uses the following libraries from different authors:
- IotWebConf by prampec
- ArduinoJson by bblanchon
- WS2812FX by kitesurfer1404
- Docute by egoist
- NES.css by nostalgic-css
Thanks to all the authors.
Possible enhancements
- Make color / animation configurable via web UI.
- Make LED brightness configurable.
- Make LED PIN configurable.
- Allow manual setting of the status via UI / API.
Licence
All code is licensed under the MPLv2 License.