Skip to content

Instantly share code, notes, and snippets.

@cpq
Created July 4, 2020 08:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cpq/857eecaec6aa63cb6acb966847dfbe6b to your computer and use it in GitHub Desktop.
Save cpq/857eecaec6aa63cb6acb966847dfbe6b to your computer and use it in GitHub Desktop.
static int BAUD = 115200, RTS = -1, DTR = -1, ESP32_GPIO = 11, ESP32_RESETN = 12;
void setup() {
Serial.begin(baud);
Serial1.begin(baud);
pinMode(ESP32_GPIO0, OUTPUT);
pinMode(ESP32_RESETN, OUTPUT);
// Reset ESP32, put into upload mode
digitalWrite(ESP32_GPIO0, LOW);
digitalWrite(ESP32_RESETN, LOW);
delay(100);
digitalWrite(ESP32_RESETN, HIGH);
delay(100);
digitalWrite(ESP32_RESETN, LOW);
}
void loop() {
if (rts != Serial.rts()) {
digitalWrite(ESP32_RESETN, Serial.rts() ? LOW : HIGH);
rts = Serial.rts();
}
if (dtr != Serial.dtr()) {
digitalWrite(ESP32_GPIO0, (Serial.dtr() == 0) ? HIGH : LOW);
dtr = Serial.dtr();
}
if (Serial.available()) Serial1.write(Serial.read());
if (Serial1.available()) Serial.write(Serial1.read());
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment