This repository shows the simplest way to setup a dual boot on ESP32 using PlatformIO. With this method it is possible to upload two different applications on a single ESP32 and switch between them ...
This will not work with Arduino IDE 1.6.5 (or below) or with non ESP32-S2/S3 devices (e.g. Arduino UNO, Arduino MEGA, etc.). To use this library you need to have Arduino core for the ESP32 installed.