Yesterday I did a quick post detailing the design and assembly process behind my DeskPi. I was blown away by the response and interest in the project on Reddit, including the number of questions around my other surface mounted dashboard – which I affectively refer to as WallPi!
I did tease this project briefly, so it’s only fair I revisit the project now, to give some extra details on it.
I don’t have a lot of making-of pictures for this project (stupid me!), but I’ll do my best to walk you through the process and what’s required to achieve a similar result.
First, a bit of background – I actually started the journey of wall mounted HA dashboard by installing an old Samsung Tab A over an existing and un-used thermostat socket. I re-routed a long Micro USB cable through a wall nearby into my office to supply power.
It looked cool, but it was terrible. The tablet was super slow, it would freeze and would never give you any clear feedback if it had actually registered any inputs. No good!
Enter Raspberry Pi. I had a Pi4 not really massively used, installed in my home server rack, and I decided to try and use that as the brain for a new version of my wall mounted dashboard.
So I set off with these goals in mind:
- having a large clear touchsreen
- move from USB power to PoE
- add mood lights
- make the final package looks nice on the wall to obtain high wife approval points!
I should have probably done more research on Aliexpress, but for the display I ultimately got this Waveshare 10″ touch display from Amazon (affiliate link) (in the end the price difference wasn’t too bad at the time of purchase).

The previous tablet had a 7″ display and I knew I wanted to go a bit bigger, to fit more items on the main dashboard, eliminating the need for many sub-dashboards and make the final product a one-tap operation for the most parts.
The second step was the easiest: move away from USB power to PoE. I bought the official PoE+ HAT for my Pi4 and then routed an ethernet cable from the location of the display to a switch in my office.

Sidenote: in full transparency, I started the project relying on WiFi for connection and USB for power. Turns out the the Waveshare screen is known for interfering with the antennas on the Pi when mounted on its back, which completely killed the connection. Ultimately I should have looked at PoE from the beginning as the final result is much more polished, but I guess this happy accident worked too!
Next was mood lights. In our house we have many lights, inside and out, that come on automatically at sunset and set the mood throughout the place. I wanted to integrate something here as well, given it’s located in the entry hall where there weren’t previously any night lights. The solution was to wrap a very basic and generic Zigbee LED strip around the inside of the casing, plugged in and powered directly by the Pi4. I don’t have a direct link for it, but literally any basic short LED strip will do the trick!
Now it was time for the most difficult part of the job: assembling it all together and mounting it on the wall in order to maximise wife approval!
This time I wasn’t savvy enough to scour for pre-made 3D models of the components, so I took many measurements with a calliper, to get to a point where I could design an enclosure.

As you can see, I’ve carved a bit off the back, to save on material and weight, and give some ventilation space. Plus, the main hole in the centre is overlapping the old thermostat mounting place, so it also gives me space to stuff the LED controller portion, keeping the full enclosure flush against the wall, hiding all cables from sight.
The raised lip inside is where I’ve routed the LED, keeping it a bit more inside to help with the overall effect of light diffusion. The large opening on the right side is where I’m feeding the Ethernet cable that eventually disappears inside the wall before going into my home office. The 4 screw holes are used to fix the case to the Pi/Screen assembly. The order is screen -> pi -> case. Using only 4 M3 screws it all comes together as one.
So how does it stay on the wall? Command strips! On the back of the case I’ve carved 4 recessed areas where you can place the Command Strips and make sure that overall the assembly stays as flush to the wall as possible.

A quick 3D printing with translucent PLA and that’s it! Job done and now I have a great looking wall mounted dashboard.

The final touches are done in HA to bring it all together. I have installed the WallPanel addon via HACS, using images stored on my NAS as the source. On top of this, I have BrowserMod installed, so that I can automatically interrupt the wallpaper if motion is detected by an Aqara motion detector (affiliate link) semi-hidden on a shelf to the side.
Despite being a super custom model given the space where it’s installed, I’ve uploaded the model to MakerWorld anyway!
Happy tinkering!
EDIT: on Reddit I’ve got some requests for the YAML code for the room summary cards. Below you can see an example for one row, which is then repeated four times to cover all the rooms I wanted to include (you will of course have to update the entity_id accordingly for your devices).
type: horizontal-stack
cards:
- type: custom:room-summary-card
area: Master
entity:
entity_id: light.magic_switch_s1e_6cac_switch_1
icon: mdi:ceiling-light
tap_action:
action: toggle
hold_action:
action: more-info
entities:
- climate.master_bedroom
- entity_id: media_player.master_tv_3
icon: mdi:television
- entity_id: light.comodini_switch
icon: mdi:globe-light
- entity_id: light.koogeek_ls1_20481b_light_strip
icon: mdi:led-strip-variant
temperature_sensor: sensor.master_bedroom_temperature
features:
- hide_area_stats
- type: custom:room-summary-card
area: Guest Room
entity:
entity_id: light.led_desk_upstairs_light_strip
icon: mdi:led-strip-variant
tap_action:
action: toggle
hold_action:
action: more-info
entities:
- climate.guest_bedroom
temperature_sensor: sensor.guest_room_actual_temp
features:
- hide_area_stats