Pulse Nodes
A pulse is a short, rectangular electrical signal used for measurement, detection, and controlling switches. These nodes can be used to utilize the pulse and PWM (pulse width mondulation) functionality in your flows.
Config Nodes
pwm write config
Handles settings for pulse wave generation on a specified pin.
Inputs
- Output Pin : Refer to the datasheet of your <b>ESP32 variant</b> to find a GPIO pin that supports wake-up functionality. Enter the corresponding pin number in this field.
- Resolution : <b>Select PWM resolution between 1 to 13 bits.</b> Higher resolution provides smoother transitions but reduces the frequency range.
- Timer : Choose from timer0, timer1, timer2, or timer3.<br>1.Each timer is independent and can be used to generate PWM signals with different frequencies.<br>2.Multiple channels can share the same timer, meaning different PWM outputs can operate with the same frequency but different duty cycles.
- Ledc Channel : LED Channel: Select a channel between 0 to 7.<br>1.The ESP32 PWM controller supports up to 8 LED channels (from channel 0 to channel 7).<br>2.Each channel is mapped to a specific GPIO pin and can be independently controlled.<br>3.These channels allow multiple independent PWM signals, useful for controlling multiple LEDs, motors, or other devices.
- Clock : 1.Auto Clock: Automatically selects the optimal clock.<br>2.Ref Tick Clock: Uses a reference clock for synchronization.<br>3.APB Clock: Uses the 80 MHz APB clock, suitable for high-frequency PWM signals.<br>4.RTC 8MHz Clock: Uses the 8 MHz RTC clock, useful for low-power applications.
- Speed Mode : Speed Mode:<br>1.Low Speed: Optimized for low-power operation.<br>2.High Speed: Provides faster signal updates with improved accuracy.<br>3.Max Speed: Uses the highest available processing speed for critical timing applications.
Proc Nodes
pwm write
<b>Generates a PWM signal on a selected GPIO pin</b>, enabling precise control over LED brightness, motor speed, or other PWM-driven components.Supports customizable resolution, clock sources, and speed modes, making it suitable for high-speed applications or low-power scenarios.Allows multiple independent PWM outputs by using different timers and channels.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Intensity (%) : Set the PWM duty cycle as:<b>Percentage (0-100%)</b> duty cycle could be floating point value.
- Frequency (Hz) : Enter the PWM frequency as a 32-bit unsigned integer
- H point : Configures the high point of the PWM waveform for precise pulse shaping in %
pwm sound
<b>Generates audio tones using PWM by modulating a GPIO pin at a specified frequency.</b> By controlling the duty cycle and frequency, you can create beeping sounds, musical tones, or alerts.<br>It uses LEDC PWM functionality in ESP32 to produce sound signals, typically used for:<br>Buzzers<br>Audio alerts<br>Melodies and notifications<br>The switch option lets you enable or disable the PWM sound, and the tone input defines the frequency of the sound output.
Inputs
- Output : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Switch : Controls whether the PWM sound output is enabled or disabled. Options: <br>Turn ON → Activates the PWM sound signal.<br>Turn OFF → Deactivates the PWM sound signal.
- Tone (Hz) : Defines the frequency of the tone to be generated. Enter a value in Hertz (Hz) to determine the sound pitch.
pwm duty resolution
<b>Calculates and retrieves the PWM duty resolution based on the system clock frequency.</b> This node helps in optimizing PWM precision by adjusting duty cycle resolution dynamically.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Source clock frequency : 1.Auto Clock: Automatically selects the optimal clock.<br>2.Ref Tick Clock: Uses a reference clock for synchronization.<br>3.APB Clock: Uses the 80 MHz APB clock, suitable for high-frequency PWM signals.<br>4.RTC 8MHz Clock: Uses the 8 MHz RTC clock, useful for low-power applications.
- Timer(frequency) : Enter the PWM frequency as a 32-bit unsigned integer
Outputs
- Duty resolution : 1.Accepts a variable name where the duty resolution value will be stored.<br>2.Can be used in flows to optimize PWM settings dynamically.
pwm stop
<b>Stops PWM output on the selected GPIO pin and sets the idle state</b>. This allows controlled deactivation of PWM signals while ensuring the output pin is left in a predefined state.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Idle level : 1.Accepts a 32-bit unsigned integer (uint32_t) value.<br>2.Determines the PWM output state when stopped (e.g., LOW, HIGH, or a custom level).
pwm set frequency
<b>Sets the PWM frequency for a selected GPIO pin</b>, allowing precise control over motor speed, LED dimming, or signal generation.Uses the ESP32 hardware PWM timers, enabling stable and efficient signal generation across different output channels.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Frequency (hz) : Enter the PWM frequency as a 32-bit unsigned integer
pwm get frequency
<b>Retrieves the current frequency of a configured PWM channel.</b> This node helps in monitoring and debugging PWM frequency settings in real-time without modifying them. All values must be set before they can be fetched using this node.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
Outputs
- Frequency (hz) : 1.Accepts a variable name where the retrieved frequency value will be stored.<br>2.Can be used in flows to monitor or adjust PWM settings dynamically.
pwm set duty cycle and hpoint
<b>Allows real-time adjustment of PWM duty cycle and high point (H-Point) to precisely control pulse timing.</b> Unlike basic PWM control, this node enables phase-shifted PWM generation, which is useful for motor control, LED dimming, and synchronized PWM outputs.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Duty : 1.Accepts a 32-bit unsigned integer (uint32_t) value.<br>2.Represents the percentage of time the signal remains HIGH within a PWM period.<br>3.The range depends on PWM resolution (e.g., for 8-bit resolution, 0 to 255; for 13-bit resolution, 0 to 8191).
- H point : Configures the high point of the PWM waveform for precise pulse shaping in %
pwm get hpoint
<b>Retrieves the H-Point value of a configured PWM channel.</b> This node helps in monitoring and debugging PWM settings in real-time without modifying them. All values must be set before they can be fetched using this node.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
Outputs
- H point : 1.Accepts a variable name where the retrieved H-Point value will be stored.<br>1.Can be used in flows to make real-time decisions based on current PWM settings. in %
pwm get duty
<b>Retrieves the current duty cycle of a configured PWM channel.</b> This node helps in monitoring and debugging PWM settings in real-time without modifying them. All values must be set before they can be fetched using this node.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
Outputs
- Duty : 1.Accepts a variable name where the retrieved duty cycle value will be stored.<br>2.Can be used in flows to monitor or adjust PWM settings dynamically.
pwm fade function install
<b>Installs the PWM fade function to enable smooth transitions in brightness or motor speed control without constant software updates.</b> This node is useful for LED dimming, motor acceleration, audio fading, screen brightness control, and industrial automation. The intr_alloc_flags property configures the interrupt handling, ensuring efficient and reliable PWM operation.Install this fade function.This will occupy the interrupt of LEDC Module
Inputs
- Fade function install : Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See <b>esp_intr_alloc.h </b>for more info.
pwm set fade function
<b>Enables smooth PWM transitions using the ESP32's hardware fade function,</b>allowing precise control over LED brightness, motor speed, or other PWM-based outputs. It works by gradually increasing or decreasing the duty cycle over a defined number of steps.Once this function is called, it automatically updates the duty cycle in hardware, and the fade effect takes place without further CPU intervention.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Duty : Enter the starting duty cycle for the gradient transition. This value should be within the range [0, (2^duty_resolution)].
- Fade direction : Choose the direction of the fade operation: <br>Increase ( LEDC_DUTY_DIR_INCREASE) → Gradually raises the PWM duty cycle.<br>Decrease (LEDC_DUTY_DIR_DECREASE) → Gradually lowers the PWM duty cycle.
- Step num : Enter the total number of steps in the gradient transition. A higher number results in a smoother transition.
- Duty cycle num : Enter how many LEDC clock ticks each step of the gradient lasts. This controls the speed of the fade effect.
- Duty scale : Set the amplitude of each step in the gradient change. A higher value results in a faster transition.
pwm timer Set
<b>This node is used to configure the PWM timer for generating Pulse Width Modulated (PWM) signals in ESP32’s LEDC (LED Controller) module.</b> The PWM timer controls the frequency of the PWM signal and is shared across multiple PWM channels.The clock divider plays a crucial role in determining the final PWM frequency. By setting an appropriate divider, you can fine-tune the signal for different applications such as motor control, LED dimming, or signal processing. The source clock selection allows you to optimize power consumption and performance by choosing an appropriate internal clock source.This is used to set the timer
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Clock divider : Enter a numeric divider value to determine the PWM timer’s frequency. The divider adjusts how the system clock is divided to produce the final PWM frequency.
- Source clock frequency : 1.Auto Clock: Automatically selects the optimal clock.<br>2.Ref Tick Clock: Uses a reference clock for synchronization.<br>3.APB Clock: Uses the 80 MHz APB clock, suitable for high-frequency PWM signals.<br>4.RTC 8MHz Clock: Uses the 8 MHz RTC clock, useful for low-power applications.
pwm timer reset
<b>Resets the selected PWM timer, stopping all PWM outputs assigned to it</b>. This is useful when you need to clear and reconfigure a timer without affecting the entire system.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
pwm bind channel timer
<b>Binds a specific LEDC channel to a selected PWM timer on the ESP32.</b> Each PWM channel needs to be linked to a timer that determines its base frequency, resolution, and clock source.<br>Using the ledc_bind_channel_timer() function, this node ensures that a given PWM output channel operates with the desired timer configuration. The function requires three inputs:<br>Speed Mode: Defines whether the channel operates in high-speed or low-speed mode.<br>Channel: Selects the PWM channel (0 to 7) to be bound.<br>Timer Selection: Selects the PWM timer (0 to 3) to which the channel is bound.<br>Once the channel is bound to a timer, it will inherit the timer's frequency, clock source, and duty resolution settings.<br>This is used to bind the LEDC channel with the selected timer
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
pwm set fade time and start
<b>Use this node to smoothly transition the PWM output to a target duty cycle over a specified time.</b> It allows controlled dimming, motor speed changes, or other applications where gradual transitions are needed.A thread-safe API to set and start LEDC fade function, with a limited time.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Target duty : Enter the final duty cycle (0–100%) that the PWM should reach after fading.
- Max fade time(ms) : Enter the maximum duration in milliseconds for the fading effect. This controls how long it takes to transition from the current duty cycle to the target duty cycle.
- Fade mode : Select one of the four fade modes to control how the fade effect executes: <br>1.LEDC_FADE_NO_WAIT → Starts fading immediately without waiting for completion.<br>2.LEDC_FADE_MODE → Blocks execution until fade completes.<br>3.LEDC_FADE_WAIT_DONE → Waits for the fade operation to complete before proceeding.
pwm set fade step and start
<b>This node enables smooth, step-based fading of a PWM signal over a defined number of PWM cycles.</b> It is ideal for applications where gradual changes in brightness, speed, or power are required. Instead of an instant jump, the duty cycle is adjusted incrementally, creating a soft transition effect.The fade effect is applied using step-based duty cycle adjustments controlled by a scaling factor (Scale) and cycle duration (Cycle Num). The fading operation is hardware-accelerated using ESP32’s LEDC (LED Controller) module, ensuring efficient execution without blocking other processes.A thread-safe API to set and start LEDC fade function.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Target duty : Enter the final duty cycle (0–100%) that the PWM should reach after fading.
- Scale : Define the step size for adjusting the duty cycle in each iteration.
- Cycle num : Specify how many PWM cycles the transition should take to reach the target duty cycle.
- Fade mode : Select one of the four fade modes to control how the fade effect executes: <br>1.LEDC_FADE_NO_WAIT → Starts fading immediately without waiting for completion.<br>2.LEDC_FADE_MODE → Blocks execution until fade completes.<br>3.LEDC_FADE_WAIT_DONE → Waits for the fade operation to complete before proceeding.
pwm set duty and update
<b>Updates the PWM duty cycle on a selected GPIO pin without modifying other parameters like frequency or phase</b>. This allows real-time control of brightness (for LEDs) or speed (for motors) without restarting PWM settings.
Inputs
- Config : 1.Default Configuration: Uses GPIO Pin 2 for PWM output.<br>2.Custom Configuration: Allows you to select any GPIO pin that supports PWM.
- Duty : Duty parameter specifies the duty cycle of the PWM signal, determining the proportion of time the signal is high within each period.
- H point : Configures the high point of the PWM waveform for precise pulse shaping in %