Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Remote Control

Remote reset & boot mode controller for ESP32 via USB-Serial DTR/RTS signals.

Features

  • 🔄 Normal Boot — Run firmware after reset
  • 📥 Download Mode — Enter flash write mode remotely
  • 💤 Deep Sleep Wake — Wake from deep sleep with selectable boot mode
  • 📦 Flash & Run — Flash firmware and auto-boot in one command
  • 📡 Serial Monitor — Monitor serial output

Requirements

  • Python 3.7+
  • pyserial package
pip install pyserial

Usage

# Normal Boot (run firmware)
python esp32_remote_control.py COM3 normal

# Download Mode (flash write)
python esp32_remote_control.py COM3 download

# Reset only
python esp32_remote_control.py COM3 reset

# Wake from deep sleep → Normal Boot
python esp32_remote_control.py COM3 wake --mode normal

# Wake from deep sleep → Download Mode
python esp32_remote_control.py COM3 wake --mode download

# Flash firmware and auto-run
python esp32_remote_control.py COM3 flash firmware.bin

# Serial monitor (30 seconds)
python esp32_remote_control.py COM3 monitor --duration 30

How It Works

ESP32 boot mode is controlled by two pins:

GPIO0 EN Boot Mode
HIGH LOW → HIGH Normal Boot (run firmware)
LOW LOW → HIGH Download Mode (flash write)

USB-Serial chips (CH340, CP2102, FT232) control these pins via DTR/RTS signals — no additional hardware required on most ESP32 dev boards.

Boot Mode Reference

GPIO0 GPIO2 EN Mode
HIGH - HIGH→LOW→HIGH Normal Boot
LOW LOW HIGH→LOW→HIGH Download Mode
- - LOW (Deep Sleep) Wake-up on EN pull-up

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages