Get up and running with ESP32 GPIO Bridge in minutes. Complete setup instructions for both firmware and Python library.
Any ESP32 development board (ESP32-DevKitC, NodeMCU-32S, etc.)
Version 2.0.0 or higher with ESP32 board manager
Python 3.6 or higher installed on your system
USB-A to USB-C or micro-USB cable for ESP32
Windows, macOS, or Linux with USB serial support
Git installed for cloning the repository
Flash the modular ESP32 firmware to enable GPIO Bridge functionality.
Download and install Arduino IDE version 2.0.0 or higher from the official website.
Download Arduino IDEhttps://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Add this URL in Arduino IDE → File → Preferences → Additional Board Manager URLs
git clone https://github.com/1999AZZAR/esp32_GPIO_bridge.git
cd esp32_GPIO_bridge
Navigate to the firmware directory and open firmware.ino
You should see "Done uploading" message. Your ESP32 is now running the GPIO Bridge firmware.
Install the ESP32 GPIO Bridge Python library to control your ESP32 from Python.
# Clone repository
git clone https://github.com/1999AZZAR/esp32_GPIO_bridge.git esp32-gpio-bridge
cd esp32-gpio-bridge
# Install in development mode (recommended)
pip install -e .
# Install with development dependencies
pip install -e ".[dev]"
# This includes testing and development tools:
# - pytest (for running tests)
# - black (for code formatting)
# - flake8 (for linting)
# - mypy (for type checking)
# These are installed automatically
pyserial>=3.5
types-pyserial # For type hints
# For examples and development
matplotlib
numpy
pytest
black
flake8
mypy
Verify that both firmware and Python library are working correctly.
from esp32_gpio_bridge import ESP32GPIO, find_esp32_port
# Auto-detect ESP32
port = find_esp32_port()
if port:
print(f"Found ESP32 on: {port}")
# Test connection
with ESP32GPIO(port) as esp:
version = esp.get_version()
print(f"Firmware version: {version}")
print("✅ Connection successful!")
else:
print("❌ ESP32 not found")
Found ESP32 on: /dev/ttyUSB0
Firmware version: ESP32_GPIO_BRIDGE_v0.1.6-beta
✅ Connection successful!
# Navigate to examples directory
cd examples
# Run basic I/O example
python basic_io_example.py
# Run LED patterns example
python led_patterns_example.py
Common issues and their solutions.
Problem: find_esp32_port()
returns None
Solutions:
Problem: Permission denied when accessing serial port
Solution:
# Add user to dialout group
sudo usermod -a -G dialout $USER
# Logout and login again, or run:
newgrp dialout
Problem: Firmware upload fails in Arduino IDE
Solutions:
Problem: Python can connect but gets no response
Solutions:
Your ESP32 GPIO Bridge is now ready! Check out the examples and start building amazing projects.