I still use my Optoma projector from 2018 and recently updated its integration in the smart home (see old setup in this thread). Currently, I prefer integrating third-party devices into openHAB via MQTT. It has proven effective to have scripts and micro-controllers simply share their status through MQTT; this way, I don’t have to dive deep into the setup of too many different openHAB add-ons.
Here is my 2026 approach for my beamer (Files see at my Github):
ESP32-MQTT-OptomaProjector
Connect any Optoma projector with RS232 port to smarthome via MQTT on a ESP32 with micropython.
Features
The MicroPython script enables to connect an Optoma Projector with RS232 interface to a smarthome by MQTT messages. So far it transmits power ON and OFF command and can make use of the text notification option. It polls the status and current lamp age.
After startup, the ESP32 publishes its IP address via MQTT. Opening this IP in your browser will bring up a dashboard featuring status information, device controls, and a log of recent communications.
:
It uses asyncio and Peter Hinchs Asynchronous MQTT implementation, it also tries to get correct time from NTP server. I think the code is clean an easy to understand. Feel free to add more commands as needed or reuse the code for any other serial communication hardware (e.g. gas boiler).
Hardware
You need:
- a Optoma projector with a RS232 connector (I have a OPTOMA HD25e)
- a USB power supply
- any ESP32 board (I used a ESP32-C3-SuperMini)
- an MAX3232 breakout board with a female D-sub9 connector, like this
Connect MAX3232’s TX and RX with two free GPIO for UART connection, connect 3V3 from ESP32 to MAX3232 VCC, and it all fits in a machtbox sized housing, like this:
Installation
- Install actual MicroPython firmware to your ESP32 board
- Edit the variables in
cfg.pyto match your network (SSID, Password, MQTT-Broker …)- You can also edit the mqtt topics in the configuiration file to fit your smarthome setup (e.g. OpenHAB)
- Copy
cfg.py,main.py,mqtt_as.pyandindex.htmlto your ESP (e.g. using Thonny)- Attach hardware to projector and power it up
:

