Da es mit Arduino (ich meine den Arduino C/C++ Wrapper) geschrieben wurde, ist es prinzipiell lauffähig. Du solltest allerdings etwas obacht geben, welches ESP32 device Du auswählst, damit z.B. das Mapping der richtigen Pins für das I2C-Display SSD1306 erfolgt. Eigentlich sind auch die Bibliotheken von Adafruit kompatible zum ESP32.
Ergänzung ()
Nachtrag: Was Du natürlich machen müßt, ist das nötige Arduino BSP für den ESP32 zu installieren. Espressif hat 2, ein propritäres "IDF" und ein Arduino-kompatibles BSP.
Ergänzung ()
Zusätzlich ist noch zu beachten, daß ein Uno R3 mit 5V Sginalpegel arbeitet, ein ESP32 mit 3.3V. Hier ist also ein passender Ultraschallsensor nötig oder ein Level-Shifter 5V<->3.3V.
Hier bietet es sich umho an, nicht (nur) das sehr kleine 1306 zur Anzeige zur verwenden, sondern sich mit dem ESP32 im lokalen Netz einzuklinken und einen Webserver bereitzustellen, der Dir die Werte z.B. auf dem Hendi anzeigt.
Es geht hierbei nicht ums WIFI hier geht es um Größe und Marktpreis. Der Sensor soll möglichst klein sein und Kostengünstig, da mehrere Füllstände gemessen werden sollen.
Warum nimmst Du dann keine Arduino Nanos? Wegen Speichergröße?
Es ist richtig, dass die Adafruit_GFX sehr viel Speicher braucht, wogegen die
textbasierte (U8X8) Variante <U8g2lib.h> (von U8G) einen sehr geringen Speicherverbrauch hat. Meinen SSD1106 (habe gerade keinen 1306 da) würde ich dann so initialisieren: