DIY Smart Ceiling Fan Project: A Step-by-Step Guide

Hey everyone! I wanted to share my recent DIY project where I transformed an old Westinghouse ceiling fan into a smart device using ESPHome and a few affordable components. If you’re looking to add some smart functionality to your home without breaking the bank, this guide is for you!

The Setup

I started with an old Westinghouse ceiling fan that had a remote control. The goal was to make it compatible with my Home Assistant setup. Here’s what I used:

  • ESP32 Development Board: The brain of the operation.
  • IR Blaster Module: To send IR signals to the fan’s remote.
  • IR Receiver Module: To capture the fan’s remote signals for programming.

The Process

  1. Wiring the Components: I connected the IR blaster and receiver to the ESP32, ensuring they were positioned to effectively communicate with the fan’s remote.
  2. Capturing IR Codes: Using ESPHome’s remote receiver feature, I captured the IR codes from the fan’s remote. This involved pressing each button and recording the corresponding code. It was a bit tedious, but worth it!
  3. Programming the ESP32: I wrote a simple ESPHome configuration to map the captured IR codes to specific actions (toggle light, adjust brightness, change fan speed). This allowed me to control the fan through Home Assistant.
  4. Integration with Home Assistant: I set up a template fan entity in Home Assistant to mimic the fan’s behavior. This involved creating input booleans and input numbers to track the fan’s state and speed.

The Challenges

  • IR Signal Interference: The fan’s remote was quite ‘chatty’, sending multiple signals with each button press. I had to press the buttons briefly to capture a single code.
  • Power Issues: The first IR blaster I bought wasn’t powerful enough to reach the fan. I switched to a module with a transistor to boost the signal strength.

The Results

After overcoming these challenges, the fan now integrates seamlessly into my smart home setup. I can control it through voice commands, automate it with scenes, and even monitor its status. It’s amazing how a bit of DIY can breathe new life into old hardware!

Tips for Others

  • Start Small: If you’re new to ESPHome or DIY projects, start with a simple project before tackling something like this.
  • Test Thoroughly: Before finalizing your setup, test each component to ensure it works as expected.
  • Document Everything: Keep notes on the IR codes and configurations. It’ll save you time if you ever need to troubleshoot or expand the project.

If you have any questions or need help with a similar project, feel free to reach out! Happy hacking! :rocket: