Martino Ferrari 607e1b4dd1 Initial commit
2026-02-24 13:15:57 +01:00
2026-02-24 13:15:57 +01:00
2026-02-24 13:15:57 +01:00
2026-02-24 13:15:57 +01:00
2026-02-24 13:15:57 +01:00

ESP32-P4 Waveform Generator

Simple firmware and HMI to generate square waveforms on a selected GPIO pin.

Features

  • User-selectable GPIO pin.
  • Configurable frequency from 0Hz to 5000Hz (5kHz).
  • Real-time control via USB/Serial.

Project Structure

  • firmware/: ESP-IDF project for ESP32-P4.
  • hmi/: Python script for the Graphical User Interface.

Prerequisites

  1. ESP-IDF v5.x installed and configured in your environment.
  2. Python 3.x with pip installed.

Building and Flashing Firmware

  1. Navigate to the firmware directory:
    cd firmware
    
  2. Set the target to esp32p4:
    idf.py set-target esp32p4
    
  3. Build and flash the firmware:
    idf.py build flash monitor
    

Running the HMI

  1. Navigate to the hmi directory:
    cd hmi
    
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Run the application:
    python hmi.py
    

Usage

  1. Connect your ESP32-P4 board via USB.
  2. Select the correct COM/Serial port in the HMI.
  3. Enter the GPIO pin you want to use (e.g., GPIO 21).
  4. Set the desired frequency using the slider or text box.
  5. Click Apply to start/update the waveform.
  6. Setting frequency to 0 will stop the output.
Description
No description provided
Readme 24 MiB
Languages
Python 42.7%
Rust 37.4%
C 15.4%
Shell 1.4%
D 1.3%
Other 1.8%