Based on our Minimal PlatformIO ESP8266 ArduinoOTA example, this is a minimal starting point for your ESP32 program running ArduinoOTA.
#include <Arduino.h> #include <WiFi.h> #include <ArduinoOTA.h> void setup() { Serial.begin(115200); /** * Connect to Wifi */ WiFi.begin("MyWifi", "abc123abc"); uint32_t notConnectedCounter = 0; while (WiFi.status() != WL_CONNECTED) { delay(100); Serial.println("Wifi connecting..."); notConnectedCounter++; if(notConnectedCounter > 150) { // Reset board if not connected after 15s Serial.println("Resetting due to Wifi not connecting..."); ESP.restart(); } } Serial.print("Wifi connected, IP address: "); Serial.println(WiFi.localIP()); /** * Enable OTA update */ ArduinoOTA.begin(); } void loop() { // Check for over the air update request and (if present) flash it ArduinoOTA.handle(); }
platformio.ini
Add the following section to your platformio.ini
to enable flashing via OTA as well as flashing via serial:
[env:OTA] extends = env:esp32dev upload_protocol = espota upload_port = 10.19.50.80 upload_flags = --host_port=55910