Custom Digital Waveform Output
Overview
Outputs user-defined digital waveform signals. Can generate various signal patterns by combining multiple waveforms and repetitions with a resolution of up to 1μs. Available only on Raspberry Pi 0~4 models.

Supported GPIO
- Raspberry Pi 0~4
Commands
[ADD_PULSE]
Adds a pulse signal to a specific pulse pattern. A pulse pattern is a basic unit pattern used for repetition when outputting waveforms. For example, if GPIO repeats High and Low every 15μs, the pulse pattern consists of 2 pulses: <High for 15μs>, <Low for 15μs>.
Item | Type | Description |
---|---|---|
GPIO Pin | WRITE | Enter the GPIO pin number to output the pulse. |
Pulse Value | WRITE | Enter the pulse value. |
Duration (μs) | WRITE | Enter the pulse duration in μs units. |
Pulse Pattern Number | WRITE | Enter the number of the pulse pattern to add the pulse to. Any number can be used. |
[CREATE_WAVE]
Creates a waveform using pulse patterns. Can also create waveforms by combining 2 or more pulse patterns. All pulse patterns added to the waveform start simultaneously and the waveform ends only when all pulse patterns are completed.
Item | Type | Description |
---|---|---|
Pulse Pattern Number | WRITE | Enter the number of the pulse pattern to create the waveform. When using 2 or more pulse patterns, separate them with commas. |
Waveform Number | WRITE | Enter the number of the waveform to create. Any number can be used. |
[CONFIG_WAVE_CHAIN]
Configures a waveform chain by combining multiple waveforms and repetitions.
Item | Type | Description |
---|---|---|
Command | WRITE | Select the command for configuring the waveform chain. |
Waveform Number | WRITE | Enter the number of the waveform to output. Only displayed when the command is “Output Waveform”. |
Repeat Count | WRITE | Enter the number of repetitions. Only displayed when the command is “Count Repeat”. |
Delay Time (μs) | WRITE | Enter the delay time in μs units. Only displayed when the command is “Time Delay”. |
[Loop Start]
[Loop Start]
[Output Waveform] Waveform 0
[Output Waveform] Waveform 1
[Count Repeat] 10 times
[Output Waveform] Waveform 2
[Time Delay] 100 μs
[Continue Loop]
[START_WAVE_CHAIN]
Outputs the waveform chain. Only one waveform chain can be output at a time.
[STOP_WAVE_CHAIN]
Stops the waveform chain output.
[CLEAR_WAVE_CHAIN]
Deletes the waveform chain. Can only be used when waveform chain output is stopped.
[CLEAR_WAVE]
Deletes a specific waveform. Can only be used when waveform chain output is stopped.
Item | Type | Description |
---|---|---|
Waveform Number | WRITE | Enter the number of the waveform to delete. |
[CLEAR_PULSE_PATTERN]
Deletes a specific pulse pattern.
Item | Type | Description |
---|---|---|
Pulse Pattern Number | WRITE | Enter the number of the pulse pattern to delete. |
[CLEAR_ALL]
Deletes all pulse patterns, waveforms, and waveform chains. Can only be used when waveform chain output is stopped.
Example
Objective
When the dashboard widget button is pressed, signals are output on two GPIO pins with different sequences as shown below.
This process is repeated 20 times, then waits for 100μs and repeats the entire process again.
Connect an oscilloscope to GPIO 17 and 27 to verify that the signals are properly output.
GPIO | Sequence | Total Period |
---|---|---|
17 | High 10μs → Low 5μs → High 20μs → Low 15μs | 50μs |
27 | High 20μs → Low 20μs | 40μs |
Parts
Part | Quantity |
---|---|
Raspberry Pi 4 * | 1 |