Skip to content

benceharomi/smart-projector-remote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Projector Remote

This project transforms your regular projector into a smart home device, enabling voice control and automation through Apple's HomeKit ecosystem.

Overview

An ESP32-based device that can control projectors via infrared signals and integrates with Apple HomeKit. It allows you to control your projector using Siri voice commands, the Home app, or enable your projector to be added to scenes like "Movie time" or "Bed Time".

Features

  • Custom PCB: Professional-grade circuit board with built-in IR LED
  • IR Remote Control: Sends NEC protocol IR commands to your projector
  • 3D Printed Case: Custom enclosure with laser-cut acrylic top
  • Power Management: Handles projector power on/off with automatic warm-up delays
  • HomeKit Integration: Control your projector with Siri voice commands
  • Smart Home Scenes: Integrate with other HomeKit devices for automated experiences

Project Gallery

1. Early Prototype

Early Prototype Breadboard prototype showing initial testing setup

2. PCB Design

PCB Design 3D rendering of the PCB design

3. Manufactured PCBs

Manufactured PCBs Empty from top view (left), empty from bottom view (middle), partly assembled with external IR LED for testing (right)

4. Case Design

Case Design 3D rendering of the case design

5. Assembled Device

Assembled Device Fully assembled device in its custom case

Project Structure

smart-projector-remote/
├── board/                # PCB design files
│   ├── bom/              # Bill of Materials
│   ├── fab/              # Manufacturing files
│   ├── libs/             # Custom component libraries
│   └── src/              # KiCad source files
├── case/                 # 3D case design files
├── firmware/             # ESP32 firmware
│   ├── src/              # Source code
│   └── platformio.ini    # PlatformIO configuration
├── images/               # Project photos
└── README.md             # This file

Hardware

Components

  • ESP32-WROOM-32E - Main microcontroller
  • SFH 4045N - IR LED for sending commands
  • BD33IC0MEFJ-CE2 - 3.3V voltage regulator
  • CP2102N-A01-GQFN24 - USB-to-UART bridge for programming and communication
  • USB-C connector - Power and programming interface
  • Custom PCB - Designed in KiCad

Note: A complete list of all components can be found in board/bom/smart-projector-remote-bom.csv

Assembly

  1. Manufacturing files can be found in board/fab/1.0.0/
  2. Use the stencil for accurate component placement
  3. Follow the BOM in board/bom/smart-projector-remote-bom.csv
  4. Solder components using reflow oven, hot air station, or hand soldering with fine tip iron

Case Design

Overview

  • Bottom: 3D printed with threaded inserts and rubber feet
  • Top: Laser-cut acrylic
  • Assembly: 4 screws hold everything together
  • Design: Created in OnShape

Assembly

  1. 3D print the bottom case from case/case-bottom.step
  2. Install threaded inserts in the bottom case
  3. Add rubber feet to the bottom case
  4. Laser cut the acrylic top from case/case-top.dxf
  5. Drill countersink holes in the acrylic top as shown in the drawing case/case-top-drawing.pdf
  6. Assemble: bottom case, PCB upside down, acrylic top, then secure with 4 screws

Software

Firmware

  • Platform: PlatformIO with Arduino framework
  • HomeKit Integration: HomeSpan library
  • IR Communication: IRremote library
  • Target Board: ESP32 Feather

Prerequisites

  • VSCode with PlatformIO extension
  • KiCad (for PCB modifications)
  • OnShape or any other 3D CAD software (for case modifications)
  • 3D printer and laser cutter (for case fabrication)

Building the Firmware

  1. Clone this repository
  2. Open the firmware/ folder in PlatformIO
  3. Build and upload to your ESP32:
    pio run --target upload

Configuration & Setup

IR Commands

The firmware includes pre-configured NEC IR codes for a TOPTRO X1 projector:

  • Power on/off
  • Navigation (up, down, left, right, OK, back)
  • Source switching

Note: Current firmware only uses power on/off, source switching, and OK commands. Other commands are included for future functionality.

WiFi Configuration

  1. After uploading the firmware, power cycle the device
  2. Open the serial monitor:
    pio run -t monitor
  3. The device will start and show *** WIFI CREDENTIALS DATA NOT FOUND. YOU MAY CONFIGURE BY TYPING 'W <RETURN>'.
  4. Type W and press Enter to enter WiFi configuration mode
  5. The device will scan for available networks and display a numbered list
  6. Type the number corresponding to your WiFi network and press Enter
  7. Enter your WiFi password when prompted
  8. The device will connect to your network and show WiFi Connected! with IP address
  9. The device will start the HAP server and show DEVICE NOT YET PAIRED -- PLEASE PAIR WITH HOMEKIT APP

HomeKit Pairing

  1. Open the Home app on your iPhone/iPad
  2. Tap the "+" button to add a new accessory
  3. Select "Add Accessory" → "More options..."
  4. Look for "HomeSpan Television" in the list
  5. Enter the pairing code: 4663-7726 (standard HomeSpan code)
  6. The projector will appear as a "Television" device

Note: Currently only power on (with auto switching to HDMI 1) and power off functionality is supported.

Customization

Note: The project is configured for a TOPTRO X1 projector.

The firmware can be easily adapted for other projectors by updating the IR command codes:

  1. Measure IR commands from your projector's remote
  2. Update the command constants in firmware/src/main.cpp
  3. Adjust warm-up timing if needed

Usage Examples

Voice Commands

  • "Hey Siri, turn on the Projector"
  • "Hey Siri, turn off the Projector"

HomeKit Scenes

Create scenes like "Movie Time":

  • Turn on Projector
  • Adjust lighting in living room:
    • Turn off Lamp 1
    • Set Lamp 2 to warm white at 10% brightness

Or "Bed Time":

  • Turn off Projector
  • Turn off Lamp 1 and Lamp 2

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Author

Bence Háromi - 2025


About

Transform your regular projector into a smart home device, enabling voice control and automation through Apple's HomeKit ecosystem.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages