Awesome
deskmate
A hackable & portable MQTT-powered mini dashboard and control center.
<img alt="Photo of deskmate prototype on a desk" src="assets/img/deskmate.jpeg"/>For clarity, in this specific configuration, the display above shows:
- Left panel - The states of MQTT "smart" switches. Clicking turns them ON/OFF
- Top right panel - Soil moisture status of some of the plants around the house
- Bottom right panel - Current temperature in different rooms
Hardware & portability
The main components in the photo above are:
- An ESP32 development board
- A 2.7" SHARP Memory Display by Adafruit
- A rotary encoder (similar to this one from Adafruit)
- Three mechanical switches from Pimoroni
The core software should be fairly hardware-agnostic and the concrete implementations should be relatively portable to a bunch of other boards and displays.
As an example, this repo contains a pure software implementation of the whole system. Here it is running on my macbook:
<p align="center"> <img alt="Screenshot of deskmate running on macos" src="assets/img/macos.png" width="400"/> </p>Software
The software is organized into three directories:
code/lib/
- Platform-agnostic core. Relies on abstract input/output systemscode/arduino/
- Arduino instantiation of the input/output systems & MQTT clientcode/sdl2/
- SDL-based software-only instantiation of the input/output systems & MQTT client
Case
The .stl
files for the 3D printed frame can be found under case/stl/
.