Search models, users, collections, and posts

Smart Servo Blast Gate 100mm - LED Status - ESP+HA

Remixed by

Print Profile(1)

All
P1S
H2C
A1
X1 Carbon
H2D
A1 mini
P1P
X1
X1E
P2S
H2S
H2D Pro
X2D
A2L

0.4mm layer, 2 walls, 15% infill, tree supports
0.4mm layer, 2 walls, 15% infill, tree supports
Designer
13.1 h
5 plates
5.0(1)

Open in Bambu Studio
Boost
33
109
11
3
74
36
Released 

Description

Content has been automatically translated.
Show original

Description (English)

This fully automated 100mm blast gate is a high-performance solution for workshop dust collection. It merges the reliable **Truncated Ball Valve** mechanics with a rugged **direct servo mount** and smart features.

Technical Highlights & Enhancements:

  • Perfect Fit: The geometry is specifically designed to fit **standard 100mm HT/Sewer pipe couplers** (Muffen) seamlessly.
  • Hardware Upgrade: Replaced standard holes with integrated **M3 lock-nut sockets** on the right side for a vibration-resistant, durable assembly.
  • High-Torque Actuation: Custom lever arm designed for the **Miuzei Servo Motor 15KG**, providing enough power even under high suction.
  • Visual Feedback: Features two onboard LEDs to indicate the "Open" and "Closed" status at a glance.
  • Smart Home Ready: Optimized for **ESPHome and Home Assistant** integration.
  • Power Specs: The system uses a **7V supply** for the servo to maximize torque, requiring a step-down for the **5V LED** indicators and for the **Wemos D1 Mini** which ist used for ESPHome.

Description (English)

This fully automated 100mm blast gate is a high-end solution for workshop dust collection systems. It combines the proven principle of the **Truncated Ball Valve** with a stable **direct servo mount** and modern smart home technology.

Technical Highlights & Improvements:

  • Optimized Geometry: The housing has been adapted to fit perfectly into **standard 100mm HT pipe couplers**.
  • Improved Mechanics: Instead of simple bores, precise **sockets for M3 lock-nuts** have been integrated on the right side. This prevents loosening due to vibrations.
  • Powerful Actuation: The lever arm is precisely tailored for the **Miuzei Servo Motor 15KG**.
  • Status LEDs: Two integrated LEDs visually indicate the current state (Open/Closed) – ideal for a quick check in the workshop.
  • Smart Home Integration: Developed for control via **ESPHome/Home Assistant**.
  • Electronics Note: The servo is operated at **7V** for maximum power. A small voltage converter is required for the **5V LEDs**.

--------------------------------------------------------------------------------------------------------------------------------------------------

Guide: Flashing ESPHome to Wemos D1 Mini (English)

1. Prerequisites

2. Create New Device in ESPHome Dashboard

  1. Open your Home Assistant dashboard and navigate to ESPHome.
  2. Click "+ New Device" and then "Continue".
  3. Give your device a name (e.g., my-project).
  4. Select ESP8266 as the platform (or Wemos D1 Mini if listed).
  5. ESPHome will generate a configuration. Click "Edit" to paste your specific settings (sensors, pins, etc.).

3. First-Time Installation (Via USB)

  1. Connect the Wemos D1 Mini to your computer via USB (not to the Home Assistant server!).
  2. In the ESPHome dashboard, click the three dots on your device card and select "Install".
  3. Choose "Plug into this computer".
  4. A browser pop-up will appear. Select your Wemos COM port and click "Connect".
  5. The browser will compile the firmware and flash it to the Wemos. This may take a few minutes.

4. Integration into Home Assistant

Once finished and connected to your Wi-Fi, Home Assistant will automatically discover the device. Go to Settings > Devices & Services to add it to your dashboard. After that, you can click on “Edit” on the discovered device in ESPHome Device Builder and adapt the following code:

 

Guide: Flashing ESPHome to Wemos D1 Mini (English)

1. Prerequisites

2. Create New Device in ESPHome Dashboard

  1. Open your Home Assistant dashboard and navigate to ESPHome.
  2. Click "+ New Device" and then "Continue".
  3. Give your device a name (e.g., my-project).
  4. Select ESP8266 as the platform (or Wemos D1 Mini if listed).
  5. ESPHome will generate a configuration. Click "Edit" to paste your specific settings (sensors, pins, etc.).

3. First-Time Installation (Via USB)

  1. Connect the Wemos D1 Mini to your computer via USB (not to the Home Assistant server!).
  2. In the ESPHome dashboard, click the three dots on your device card and select "Install".
  3. Choose "Plug into this computer".
  4. A browser pop-up will appear. Select your Wemos COM port and click "Connect".
  5. The browser will compile the firmware and flash it to the Wemos. This may take a few minutes.

4. Integration into Home Assistant

Once finished and connected to your Wi-Fi, Home Assistant will automatically discover the device. Go to Settings > Devices & Services to add it to your dashboard. After that, you can click on “Edit” on the discovered device in ESPHome Device Builder and adapt the following code:

 

Configuration:

esphome:

  name: blast-gate-1

  friendly_name: Blast Gates
 

esp8266:

  board: d1_mini  # <--- Important to be able to use pin descriptions like D5
 

logger:
 

api:

  encryption:

    key: "KEY"

 

ota:

  - platform: esphome

    password: "PASSWORD"

 

wifi:

  ssid: !secret wifi_ssid

  password: !secret wifi_password

  min_auth_mode: WPA2

  ap:

    ssid: "YOUR SSID"

    password: “YOUR PASSWORD”
 

# --- Hardware Definition ---

output:

  # Output Servo 1 (1st gate) on Pin D5

  - platform: esp8266_pwm

    id: output1

    pin: D5

    frequency: 50 Hz
 

  # Output Servo 2 (2nd gate) on Pin D2

  - platform: esp8266_pwm

    id: output2

    pin: D6

    frequency: 50 Hz
 

light:

  # LED 1: 1st gate LED (on Pin D4) -

  - platform: neopixelbus

    type: GRB

    variant: WS2812

    pin: D4            

    method: BIT_BANG

    num_leds: 9

    name: "1st gate statusLED"

    id: 1st_gate_led

    on_turn_on:

      - light.addressable_set:

          id: 1st_gate_led

          range_from: 0

          range_to: 1

          red: 0%

          green: 0%

          blue: 0%


 

  # LED 2: 2nd gate LED (on Pin D6)

  - platform: neopixelbus

    type: GRB

    variant: WS2812

    pin: D3

    method: BIT_BANG

    num_leds: 9

    name: "2nd gate statusLED"

    id: 2nd_gate_led

    on_turn_on:

      - light.addressable_set:

          id: 2nd_gate_led

          range_from: 0

          range_to: 1

          red: 0%

          green: 0%

          blue: 0%


# set up servos

servo:

  - id: servo1

    output: output1

 

  - id: servo2

    output: output2  
 

# Sliders to control servo position

number:

  - platform: template

    id: servoSlider1

    name: 1st Gate

    icon: mdi:valve

    optimistic: true

    min_value: -100

    max_value: 100

    initial_value: -67

    step: 5

    on_value:

      then:

        - lambda: !lambda id(servo1).write(x / 100.0);
 

  - platform: template

    id: servoSlider2

    name: 2nd Gate

    icon: mdi:valve

    optimistic: true

    min_value: -100

    max_value: 100

    initial_value: 35

    step: 5

    on_value:

      then:

        - lambda: !lambda 'id(servo2).write(x / 100.0);'

 

# --- Button Definitions ---

button:

  - platform: template

    name: open 1st gate

    icon: mdi:valve-open

    on_press:

      then:

        - number.set:

            id: servoSlider1

            value: -67

# Value depending on your servo position
 

  - platform: template

    name: close 1st gate

    icon: mdi:valve-closed

    on_press:

      then:

        - number.set:

            id: servoSlider1

            value: 48

# Value depending on your servo position
 

  - platform: template

    name: open 2nd gate

    icon: mdi:valve-open

    on_press:

      then:

        - number.set:

            id: servoSlider2

            value: 57

# Value depending on your servo position

 

  - platform: template

    name: close 2nd gate

    icon: mdi:valve-closed

    on_press:

      then:

        - number.set:

            id: servoSlider2

            value: -60

# Value depending on your servo position  

 

# --- Logic & ---

binary_sensor:

  # Logic for first gate

  - platform: template

    name: 1st gate status

    id: blast_gate_status

    device_class: garage_door

    lambda: !lambda |-

      if (id(servoSlider1).state <= -66.0) return true;

      if (id(servoSlider1).state >= 44.0) return false;

      return id(blast_gate_status).state;

    on_press:

      - light.turn_on:

          id: 1st_gate_led

          brightness: 100%

          red: 0%

          green: 100%

          blue: 0%

    on_release:

      - light.turn_on:

          id:  1st_gate_led

          brightness: 100%

          red: 100%

          green: 0%

          blue: 0%


 

  # Logic for second gate

  - platform: template

    name: 2nd Blast Gate

    id: blast_gate_status2

    device_class: garage_door

    lambda: !lambda |-

      if (id(servoSlider2).state >=  56) return true;

      if (id(servoSlider2).state <= -59 ) return false;

      return id(blast_gate_status2).state;

    on_press:

      - light.turn_on:

          id:  2nd_gate_led

          brightness: 100%

          red: 0%

          green: 100%

          blue: 0%

    on_release:

      - light.turn_on:

          id:  2nd_gate_led

          brightness: 100%

          red: 100%

          green: 0%

          blue: 0%

 

captive_portal:

######## NOTICE! ########

# Your values must be set to your correct servo position. Test those via the sliders in Home Assistant before final assembly to prevent damaging the parts!

Boost Me (for free)

I would really appreciate if you want to spend your boosts!

Comment & Rating (11)

(0/1000)