In a quest to make my desk as smart and useful as possible I recently made a couple upgrades. Here are a couple of neat additions to any smart desk for a smart home, DIY and programmer enthusiast out there. Smart home control, cable management and paperless workflows…
Controlling your smart home from your smart desk
Of course my first step was to integrate my existing smart home with the desk. I was thinking about a full overkill solution at first: a tablet or extra keyboard able to control anything smart. In the end I decided to go for more of a hidden and minimalist approach here. After all the desk is the home of my main computer and Home Assistant can be controlled very well from there as well as my phone, my smartwatch or even via voice control.
While this works well it takes some time to start up the computer or pull out the phone and open the app. I was looking for something faster and decided to install a button for simple control on the desk. I used a two key switch from Aqara that works well with my Zigbee network and ZHA.
If you want to support the blog consider buying your devices via these affiliate links:
Raspberry Pi 4 4GB for a server
Pi 4 case (I did not try this one)
Sonoff Zigbee bridge (Wifi makes it independent but potentially unreliable)
Sonoff Zigbee 3.0 dongle plus (great and cheap but might not be powerful enough for bigger networks)
TubesZB coordinator (expensive but very powerful)
Aqara H1 Zigbee switch
I wanted the switch to be hidden to keep the desk surface clean – the solution I came up with was to mount it to the underside of the desk right at the front where I can easily reach it. I did not want to permanently glue it to desk though as that makes later adjustments (and the needed battery swaps) very difficult. Instead I found a nice model for a holder on printables.
The model was easy to print on my Prusa (using Octoprint) and can simply be mounted to the desk with a couple of small screws. The button is then slid into the mount. This part is a slight bit sketchy as it put some pressure on the plastic key switches but once properly seated in the mount the button works very well.
Both buttons trigger automations using simple ZHA event listeners. One button toggles the main room light, one a couple of accent lights like this world map. Both together control my main desk light, more on that later. A double click is also possible and tells my blinds to close in the evening if I want to.
alias: Button bed toggle roomlight
description: "Toggles a light on/off based on a button click via a ZHA event"
- platform: event
- service: light.toggle
Cable management and more inputs for my PC
The next step was to clean up the cables a bit where possible and extend the IO of my computer to make it more convenient. Most of the cables are already hidden in a net underneath the desk and the PC itself is sitting securely on a couple beefy wall brackets well out of the way of my robo vacuum called Jarvis. I used a nice sleeve to bundle together all the cables running from the desk to the computer.
Other cables that are sometimes needed on the desk but only temporarily do sit in a desk cable organizer that I also 3D printed. This way the mostly hide under the desk when not needed but can also be pulled out very quickly.
Something else I was also missing is a way to quickly connect USB devices or SD cards to my computer without having to crawl under the desk to find a USB port. An extension / hub was needed. I looked for models with integrated SD card readers as well as USB A and C connectors. Unfortunately there are not (yet) a lot of good choices here (if you find something please send me an email).
In the end I again decided to keep it simple and the desk itself clean and buy a USB hub with just 4 simple USB A ports (with USB 3 speeds) that can be properly mounted with screws to the underside of my desk again. I simply bought an additional USB SD card reader that can be used with this. It is actually a very nice device with SD and micro SD cards slots and a USB A, C & mico USB connectors.
Finally I also have a Xbox controller that I use for some games like Rocket League that is neatly stored away in another 3D printed holder under the desk.
Smart light for the desk
Concentrated works needs good light. A proper light setup will improve your mood, lessen eye strain and make your setup look cool or cozy depending on your mood. I use a combination of smart lights around my desk.
The background light for the whole room comes from my ceiling lamp. It uses three Hue light bulbs with warm/cold white dimming. The amazing adaptive lighting integration for Home Assistant is used to dim and change the color according to the time of the day and the sun outside. You can find out how to set this up in my smart lighting guide. It works amazingly well: you don’t notice the dimming at all but it always makes the light feel cozy, never too bright.
To keep the room bright and highlight certain parts, like the huge map, I use LED strips and smart Zigbee LED controllers. While not directly connected to the desk this definitely improves the feeling of the room a lot. Color and brightness of all of these lights are automatically controlled but I use the switch under the desk to turn them on or off.
Finally the desk itself sometimes needs a more powerful direct source of light. If I work on some project on the desk or just need some light to complement the monitors then my wall light, the Aris Tint LED panel, does the job.
Mounting was a bit more difficult than expected but it can be controlled via Zigbee from ZHA and Zigbee23MQTT and provides direct light from the front and some indirect wall light on the back at the same time. It is fully dimmable, with warm white, cold white and RGB colors and looks quite nice with its minimalist design I think.
This wall light gets turned on automatically if I log into my computer after sundown. To automate that I use the great Hass.Agent software on my PC to send some data to Home Assistant and then use a simple automation there.
The paperless desk
Paper is soooo last century 😉 While I still use paper notes (for some reason digital todo lists never really worked for me) and keep some important documents on paper I try to store everything else in a digital way. I used a couple of different systems to manage all my documents, the newest one is Paperless-ngx, which works very well so far.
To bridge the gap between analog and digital I use a network scanner. It is quite a nice device that is able to very quickly scan a bunch of documents and create great quality digital versions. These files are then automatically uploaded to my Nextcloud using a small script I wrote.
I use that flow to upload any incoming document with one click of a physical button on the scanner and then from time to time I take a couple minutes to import those documents into Paperless and to make sure the automatically discovered data about the documents is correct.
A digital desk / office is amazing. Its so much faster to find things, a name, date or even any random text on the document you can remember is enough to find it. You can also easily create auto-updating collections of documents like job related documents, tax relevant ones, manuals, receipts… All of it instantly available from everywhere you go.
The desk & chair
Finally there is, of course, the desk itself as well as my chair. As I spend a considerable portion of my waking hours there I spent some time making them nice looking, comfortable and adaptable. The desk itself consists of motorized height-adjustable legs and a huge oak wood table top. The small off-cut left over became my custom desk lamp for the living room.
The oak wood was chosen for the sturdy and nice material fitting the rest of my furniture. I sanded the surface and applied some oil to protect it. The most used part holding my keyboard and mouse is also covered by a mouse pad.
The “BEKANT” table legs are from IKEA and are motorized. Controllable via small panel mounted to the underside of the desk I can use them to change the height of the desk – making it the perfect height when seated or switch to a standing desk position. This is a feature I am not using too often but can be quite nice for your health and posture. The legs are easy to install, quite sturdy and move in a smooth way. The only thing I am missing is storing favorite desk positions. You have to always manually move the desk up and down.
Finally the chair might be the most important part of the whole setup as this is what should support your body all day. Knowing this, after using a no-name model for years, I upgraded to an amazing Herman Miller chair some time ago: the Embody. While it is really expensive the quality and customization are beyond anything I have used so far.
The chair can be set up to fit perfectly, even for a bigger person like me, and feels very nice. After a short time you just forget about it. I also love the back support. It looks quite futuristic and moves with you back even if you lean to the side. To me this is money well spent.