ESP32 GPIO Bridge

Transform your ESP32 into a powerful, PC-controlled hardware interface. Professional-grade GPIO control, PWM, I2C communication, and more via Python.

Version 0.1.6-beta • Professional Modular Architecture • 5-10x Performance Boost

Powerful Hardware Control

Complete GPIO control from Python with professional-grade performance and safety features.

Digital GPIO Control

Complete control over 40 GPIO pins with input/output modes, pull-up resistors, and batch operations.

  • 40 GPIO pins (0-39)
  • Input/Output modes
  • Batch operations

Hardware PWM

Up to 16 PWM channels with configurable frequency and resolution for precise control.

  • 16 PWM channels
  • 1-40kHz frequency
  • 1-16 bit resolution

Analog I/O

12-bit ADC input and 8-bit DAC output for precise analog signal processing.

  • 12-bit ADC (0-4095)
  • 8-bit DAC (0-255)
  • Calibration support

I2C Communication

Full I2C bus control with device scanning and data transfer capabilities.

  • Device scanning
  • Read/Write operations
  • Configurable frequency

EEPROM Storage

512 bytes of persistent storage for configuration and data persistence.

  • 512 bytes storage
  • Block operations
  • String support

High Performance

Professional dual-core architecture with 5-10x faster command throughput.

  • 5-10x faster
  • Dual-core FreeRTOS
  • Command queuing

Quick Start

Get up and running in minutes with our simple installation and basic example.

Installation

1

Install Python Library

Install the ESP32 GPIO Bridge library via pip.

2

Flash ESP32 Firmware

Upload the modular firmware to your ESP32 board.

3

Start Controlling Hardware

Connect and control GPIO pins from Python.

Basic Example
from esp32_gpio_bridge import ESP32GPIO, find_esp32_port

# Auto-detect ESP32 port
port = find_esp32_port()

# Connect using context manager
with ESP32GPIO(port) as esp:
    print(f"Firmware version: {esp.get_version()}")
    
    # Digital output - LED control
    esp.set_pin_mode(2, "OUT")
    esp.digital_write(2, 1)  # LED ON
    
    # Analog input - Sensor reading
    sensor_value = esp.analog_read(34)
    voltage = (sensor_value / 4095.0) * 3.3
    print(f"Sensor voltage: {voltage:.2f}V")

Performance Highlights

Professional-grade performance with significant improvements in v0.1.6-beta.

5-10x

Faster Command Throughput

Dual-Core

FreeRTOS Architecture

8 Modules

Modular Firmware Design

Smart

Failsafe System

Ready to Get Started?

Transform your ESP32 into a powerful hardware interface with professional-grade Python control.