Skip to content

๐Ÿ’ก This project automates Velux windows using an ESP32 microcontroller connected to a KUX 100 remote.

Notifications You must be signed in to change notification settings

breaching/Velux-Control-with-ESPHome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 

Repository files navigation

Velux Window Automation: ESP32 and KUX 100 Remote DIY Solution

Overview

This guide provides a cost-effective method to automate Velux windows using an ESP32 microcontroller and KUX 100 remote, bypassing the expensive VELUX ACTIVE with NETATMO hub.

๐Ÿ›  Bill of Materials

Component Quantity Estimated Cost Specifications
ESP32 Microcontroller 1 โ‚ฌ4-โ‚ฌ5 ESP32-DevKitC or Wemos D1 Mini
NPN Transistors (2N3904/2N2222/BC547) 3 โ‚ฌ1-โ‚ฌ2 For button press simulation
1 kฮฉ Resistors 3 โ‚ฌ0.50 Current limiting
Wires and Connectors As needed โ‚ฌ2 Jumper wires or soldered connections
KUX 100 Remote Control 1 โ‚ฌ20-โ‚ฌ40 Second-hand, platform-compatible

Total Project Cost: โ‚ฌ30โ€“โ‚ฌ50

๐Ÿš€ Key Advantages

  • Cost Reduction: 75% cheaper than official VELUX hub
  • Full Customization: Complete control via ESPHome and Home Assistant
  • Scalable: Easy integration with existing smart home systems

๐Ÿ”ง Detailed Implementation Guide


1. Prepare the Components

Materials:

  • ESP32 development board.
  • 3 x NPN transistors (e.g., 2N3904, 2N2222, BC547).
  • 3 x 1 kฮฉ resistors.
  • Jumper wires or soldering equipment.
  • A KUX 100 remote control.

2. Assemble the Circuit

Wire the ESP32 to the transistors and prepare the connections to the KUX 100 remote:

  1. Open the Remote:

    • Remove the batteries as the remote will be powered by the ESP32.
    • Carefully push or pull the plastic clips holding the case together. Be gentle to avoid breaking the clips.
    • Slowly lift the PCB out of the case, paying attention to the metallic battery contacts:
    • Ensure you donโ€™t break or tear these contacts, as they are still be needed for connections.
    • Turn the PCB around and peel off the tape or adhesive covering the buttons to reveal the contact pads.
    • The PCB is now ready for soldering and connecting to the ESP32.
  2. Connect the ESP32 to the transistors:

    • Base of each transistor โ†’ Connect to an ESP32 GPIO (via a 1 kฮฉ resistor).
    • Emitter of each transistor โ†’ Connect to GND (shared with the KUX 100 remote).
    • Collector of each transistor โ†’ Connect to the corresponding pad on the KUX 100 remote:
      • Button UP โ†’ GPIO 17 โ†’ Transistor 1.
      • Button DOWN โ†’ GPIO 18 โ†’ Transistor 2.
      • Button STOP โ†’ GPIO 27 โ†’ Transistor 3.
  3. Connect the pads:

    • Solder wires from the button pads (UP, DOWN, STOP) to the collector pins of their respective transistors.
  4. Share the ground and VCC:

    • Connect the GND and 3.3V of the ESP32 to the GND and VCC of the KUX 100 remote.

I came up with a PCB like this (very ugly, ngl), but it's working. The ESP32 is actually mounted under the PCB, and I wired the VCC and GND to a 2-pin terminal block to power the entire setup.

3. ESPHome Configuration

esphome:
  name: velux_remote
  platform: ESP32
  board: esp32dev

wifi:
  ssid: "Your_SSID"
  password: "Your_Password"

output:
  - platform: gpio
    pin: 18
    id: button_up
  - platform: gpio
    pin: 27
    id: button_down
  - platform: gpio
    pin: 17
    id: button_stop
  
switch:
  - platform: template
    name: "Velux UP"
    turn_on_action:
      - output.turn_on: button_up
      - delay: 200ms  
      - output.turn_off: button_up
  
  - platform: template
    name: "Velux DOWN"
    turn_on_action:
      - output.turn_on: button_down
      - delay: 200ms  
      - output.turn_off: button_down
  
  - platform: template
    name: "Velux STOP"
    turn_on_action:
      - output.turn_on: button_stop
      - delay: 200ms
      - output.turn_off: button_stop

๐Ÿ›  Troubleshooting

Common Issues

  • No Remote Response:

    • Confirm remote pairing with blinds
    • Verify transistor connections
    • Check ground connectivity
  • ESP32 Communication Problems:

    • Validate ESPHome configuration
    • Check network settings
    • Review ESPHome dashboard logs

๐Ÿ”ฎ Future Improvements

  • Design custom 3D-printed enclosure
  • Develop more compact PCB layout

๐Ÿค Contributing

Suggestions and improvements are welcome! Please open an issue or submit a pull request.

About

๐Ÿ’ก This project automates Velux windows using an ESP32 microcontroller connected to a KUX 100 remote.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published