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
You can leave your platformio.ini at default values, the only aspect you need to change is to set monitor_speed = 115200
[env:esp32dev] board = esp32dev platform = espressif32 framework = arduino monitor_speed = 115200