Smart OLED Remote for Home Assistant

// quick facts
Overview
What it is
This project is a custom smart remote built for Home Assistant. It combines an ESP32 board, a 1.3 inch SH1106 OLED display, tactile buttons, battery power, and a custom 3D-printed enclosure into a compact handheld controller.
It originally started as a remote for controlling air conditioners, but the design quickly proved flexible enough to work with other Home Assistant entities too, including lights, fans, curtains, and custom automations.
Why I built it
The original inspiration came from an ESPHome-based remote design by The Stock Pot, but that version did not include a screen. Adding an OLED display made a huge difference because it allowed the remote to show real device state in real time instead of relying only on button presses.
With the display, the remote can show the current mode, fan speed, target temperature, power state, and other context-sensitive information. That makes it feel much more like a complete smart home controller than a simple button pad.
Hardware
The hardware used in this build includes:
- Custom PCB
- WEMOS Lolin32 V1.0
- 1.3" SH1106 OLED display
- LiPo 1200 mAh battery with JST 1.25 mm connector
- Micro JST 1.25 mm wires for the battery charging module
- Tactile switches 6x6x5
- 3D-printed enclosure
The device can run from battery power, but it can also be powered directly over USB-C.
Case design
The enclosure was redesigned to be sturdier, cleaner, and easier to assemble. The snap-fit clips were reinforced so the case can be opened and closed multiple times without cracking. The final design closes without screws, which keeps the outside clean and simple.
A divider plate was also added inside the case to separate the battery compartment from the rest of the electronics. This was done as a safety improvement to better protect the battery from pressure or accidental damage during use.
Home Assistant and ESPHome integration
The remote uses ESPHome and connects directly to Home Assistant through its native API. The OLED updates dynamically whenever the entity state changes, whether that change comes from the remote itself, the Home Assistant UI, or an automation.
The current implementation supports:
- displaying AC mode
- showing fan speed
- showing target temperature
- showing power state
- switching between multiple entities
- adapting profiles for different device types
Because button actions are mapped through Home Assistant services and ESPHome configuration, the same hardware can be repurposed for many different smart home scenarios.
Challenges and lessons learned
Some of the biggest challenges during the build were:
- fitting the OLED to utilize maximum available space
- designing a UI that stays readable on a small display
- managing deep sleep and instant wake-up behavior
- redesigning the enclosure to feel sturdy and quiet in hand
One notable improvement during development was adjusting the PCB layout to optionally support pogo pin connections for a cleaner and more modular OLED connection.
Final thoughts
This remote became one of the most useful smart home devices in daily use. It combines hardware, 3D printing, PCB design, ESPHome firmware, and Home Assistant integration in a way that feels polished and genuinely practical.
The strongest part of the concept is how universal it is. With small firmware changes, the same physical remote can control very different devices and automations, making it more of a general smart home control hub than a single-purpose remote.
Gallery






Build details
Hardware
- ESP32 Lolin32 V1.0
- 1.3" SH1106 OLED display
- LiPo 1200 mAh battery
- Tactile 6x6x5 buttons
- Custom PCB
Software / firmware
- Home Assistant (API integration)
- ESPHome
- Dynamic OLED UI
- Deep sleep and wake on button press
Design & manufacturing
- Refined 3D-printed enclosure optimized for reliable printing
- Custom PCB engineered for a seamless fit inside the enclosure
Key features
Final notes
Status & future
This project started as an improved take on an earlier ESPHome remote concept, with the main upgrade being the addition of a 1.3 inch OLED display for live state feedback and more flexible control.
It is one of the most practical smart home devices in daily use because the same hardware can be adapted for AC, lights, fans, curtains, or custom Home Assistant automations just by changing the ESPHome configuration.


