Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
Grablo Help Grablo Help
문의하기
Grablo Help Grablo Help
  • User Manual
  • Tips
  • News
  • Go to
    • Grablo Home
    • Grablo App
  • 한국어
loading
  1. Home
  2. User Manuals
  3. I/O Device
  4. Custom Digital Waveform Output
Updated on August 11, 2025

User Manuals

  • Folder icon closed Folder open iconQuick Start Guide
    • Grablo!
    • Basic Concepts
  • Folder icon closed Folder open iconProject
    • General
    • Sharing Project
  • Folder icon closed Folder open iconLogic
    • Logic
    • Control Group
    • Control
    • Condition Group
    • Action Group
    • Condition
      • General
      • Type
        • Always Met
        • Once Met
        • Variable Comparison
        • Schedule
        • Time Range
        • Time Interval
        • Condition Reference
        • Action Reference
        • Change Detection
        • Custom Condition
    • Action
      • General
      • Type
        • Write Variable
        • I/O Device Control
        • Time Delay
        • Timer
        • Display Image
        • Play Media
        • Synthesizer
        • Audio Recording
        • Audio Transform
        • Shell Command
        • Speech-to-Text
        • Text-to-Speech
        • File System
        • Read/Write File
        • Database
        • HTTP Communication
        • MQTT Communication
        • OPC UA Communication
        • Modbus Communication
        • Send Email
        • Telegram Message
        • User Defined Communication
        • PID Control
        • Statistics
        • Collection
        • Custom Action
  • Folder icon closed Folder open iconDashboard
    • General
    • Widgets
  • Folder icon closed Folder open iconSetting
    • GPIO
    • Variables
    • I/O Device
    • File Editor
    • Collection
    • Timer
    • Image Viewer
    • Audio Transfrom
    • Media Player
    • Synthesizer
    • Text-to-Speech
    • Speech-to-Text
    • Audio Recorder
    • MQTT Client
    • OPC UA Client
    • Modbus
    • Email Client
    • Telegram Bot
    • Database
    • User Defined Communication
    • PID Control
    • Statistics
  • Folder icon closed Folder open iconI/O Device
    • DS18B20 Digital Temperature Sensor
    • MAX31865 RTD Temperature Sensor
    • TinyGPS++ GPS Library
    • BMP180 Digital Pressure and Temperature Sensor
    • AHTx0 Temperature and Humidity Sensor
    • SHT2x Temperature and Humidity Sensor
    • Servo Motor Control
    • PWM Signal Output
    • PWM Signal Monitoring
    • Hardware PWM Signal Output
    • LED Control
    • Push Button Input
    • Digital I/O
    • Stepper Motor Control
    • High Speed Counter
    • ADS1x15 ADC
    • ADXL345 3-Axis Accelerometer
    • BME280 Temperature, Humidity, Pressure Sensor
    • BMP280 Temperature, Pressure Sensor
    • MLX90614 Infrared Temperature Sensor
    • MCP4725 DAC
    • QMC5883L 3-Axis Magnetometer
    • SHT31 Digital Temperature and Humidity Sensor
    • TCS34725 RGB Color Sensor
    • VEML6070 UV Sensor
    • BH1750 Digital Light Intensity Sensor
    • DS3231 RTC High-Precision Real-Time Clock
    • MPU-9250 9-Axis IMU Sensor
    • CCS811 Carbon Dioxide and TVOC Air Quality Sensor
    • VL53L0X ToF Laser Distance Sensor
    • TFmini Plus(S) LiDAR Distance Sensor
    • MAX7219 8-Digit 7-Segment Display
    • PCF8574 LCD Display Driver
    • HC-SR04 Ultrasonic Distance Sensor
    • LED Brightness Control
    • RGB LED Color Control
    • DC Motor Control
    • AT24C256 EEPROM Memory
    • DHTxx Temperature and Humidity Sensor
    • MCP3xxx ADC
    • LCD Display Driver (MCP23008, MCP23017)
    • MFRC522 RFID Reader
    • Passive Buzzer
    • NeoPixel (WS281x) LED
    • Infrared (IR) Receiver
    • NeoPixel Matrix
    • ST77xx TFT Color LCD
    • ILI9341 TFT Color LCD
    • SSD1306 0.96-inch Monochrome OLED Display
    • SH1106 1.3-inch Monochrome OLED Display
    • MAX7219 8×8 LED Dot Matrix
    • HT16K33 4-Digit 7-Segment Display
    • HX711 Load Cell 24-bit AD Converter
    • TCS3200 RGB Color Sensor
    • MPU6050 6-Axis Gyro Accelerometer
    • TM1637 4-Digit 7-Segment Display
    • PM2008(M) Particulate Matter Sensor
    • PMS x003 Particulate Matter Sensor
    • MAX30102 SpO2 and Heart Rate Sensor
    • AS608, FPM10A Fingerprint Sensor
    • TTP229 Capacitive 16-Key Touch Keypad
    • 4×4 Keypad Matrix
    • Analog to Digital Converter (ADC)
    • Digital to Analog Converter (DAC)
    • RPM Monitor
    • PCA9685 16-Channel 12-Bit PWM Servo Driver
    • INA219 DC Current Sensor
    • VL6180X ToF Distance Sensor
    • Custom Digital Waveform Output
    • NRF24L01 2.4GHz RF Module
  • Folder icon closed Folder open iconBlock Coding
    • General
    • Blocks
      • Values
      • Logic
      • Loop
      • Math
      • Date/Time
      • Text
      • Byte Array
      • List
      • Type Conversion
      • Unit Conversion
      • Science
      • Bit/Byte
      • Complex Numbers/Vectors
      • JSON
      • XML
      • Local Variables
      • Local Functions
  • Folder icon closed Folder open iconConnect & Run
    • Hardware and Operating System
    • Grablo Package Installation
    • Connect and Run

Custom Digital Waveform Output

Estimated reading: 3 minutes 287 views

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.
Pulses are output in the order they are added to the pulse pattern, and different GPIOs can be used for each pulse.


[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”.
The example below outputs waveform 0 and waveform 1 in sequence 10 times repeatedly, then outputs waveform 2 and delays for 100μs. This process then repeats continuously. This way, you can combine waveforms, repetitions, and time delays to create various and complex signal patterns.
[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.

GPIOSequenceTotal Period
17High 10μs → Low 5μs → High 20μs → Low 15μs50μs
27High 20μs → Low 20μs40μs


Parts
Part Quantity
Raspberry Pi 4 * 1
* Other hardware can also be used. Refer to Supported GPIO.


Project Link

찾으시는 내용이 없나요? 문의하기

문의하기

공유하기

Custom Digital Waveform Output

Or copy link

Clipboard Icon
콘탠츠

ㅤ

Grablo Inc.
support@grablo.co

Site Links

  • Grablo Home
  • Grablo App

이 사이트의 모든 컨텐츠는 저작권법에 보호받는 저작물로서, 무단으로 복제, 배포하는 경우에는 저작권법에 의하여 처벌을 받을 수 있습니다. Copyright 2024 grablo.co. All Rights Reserved.