Introduction
Recently I bought some ESP32-WROOM-32 dev boards.

I have already used Tasmota on an ESP8266 based board, so naturally I want to get it running on the new ones.
Currently Tasmota only has experimental support for the ESP32, but I didn't run into any issues. As of now the newer ESP32-S2/S3/C3 variants aren't supported, but work has already begun on that.
Breadboard Setup
Please ignore my messy wiring. I connected two sensors over I2C to the ESP32.

ESP_Flasher
I have found flashing is the easiest with the ESP_FLASHER. Just download the latest release for your system and execute the binary.
Before that you will also want a Tasmota binary for flashing.
Download the stable binaries here. I used the recommended tasmota32.bin.

In ESP_FLASHER choose your serial port (make sure your USB-cable supports data!) and the file you want to flash, press Flash ESP. It will take a short while and its done:
Using '/dev/ttyUSB0' as serial port.
Connecting...Serial port closed!
Connecting...Serial port closed!
Serial port closed!
[17:47:22]ets Jun 8 2016 00:22:57
[17:47:22]
[17:47:22]rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
[17:47:22]waiting for download
.Serial port closed!
Detecting chip type... ESP32
Connecting....
Chip Info:
- Chip Family: ESP32
- Chip Model: ESP32-D0WDQ6 (revision 1)
- Number of Cores: 2
- Max CPU Frequency: 240MHz
- Has Bluetooth: YES
- Has Embedded Flash: NO
- Has Factory-Calibrated ADC: YES
- MAC Address: 08:3A:F2:AA:86:70
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
- Flash Size: 4MB
- Flash Mode: dio
- Flash Frequency: 40MHz
Erasing flash (this may take a while)...
Chip erase completed successfully in 10.1s
Compressed 17104 bytes to 11193...
Writing at 0x00001000... (100 %)
Wrote 17104 bytes (11193 compressed) at 0x00001000 in 0.3 seconds (effective 542.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 129...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (129 compressed) at 0x00008000 in 0.0 seconds (effective 4925.2 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 21676.4 kbit/s)...
Hash of data verified.
Compressed 1492016 bytes to 889195...
Writing at 0x00010000... (1 %)
Writing at 0x00014000... (3 %)
Writing at 0x00018000... (5 %)
--- snip ---
Writing at 0x000e8000... (100 %)
Wrote 1492016 bytes (889195 compressed) at 0x00010000 in 20.6 seconds (effective 580.5 kbit/s)...
Hash of data verified.
Leaving...
Hard Resetting...
Done! Flashing is complete!
Showing logs:
[17:48:00]
[17:48:00]00:00:00.002 HDW: ESP32-D0WDQ6
[17:48:00]lib/libesp32/LITTLEFS/src/lfs.c:1003:error: Corrupted dir pair at {0x0, 0x1}
[17:48:00]E (24) esp_littlefs: mount failed, (-84)
[17:48:00]E (25) esp_littlefs: Failed to initialize LittleFS
[17:48:01]00:00:00.929 UFS: FlashFS mounted with 312 kB free
[17:48:01]00:00:00.933 CFG: Loaded from Nvm, Count 527931137
[17:48:01]00:00:00.935 CFG: Use defaults
[17:48:01]00:00:00.076 QPC: Reset
[17:48:01]00:00:00.099 BRY: Berry initialized, RAM used=1760
[17:48:01]00:00:00.106 BRY: no 'preinit.be'
[17:48:01]00:00:00.112 Project tasmota Tasmota Version 9.5.0(tasmota)-1_0_6(2021-06-17T08:29:40)
[17:48:01]00:00:00.120 BRY: no 'autoexec.be'
[17:48:02]00:00:00.423 WIF: WifiManager active for 3 minutes
[17:48:03]00:00:01.314 HTP: Web server active on tasmota_AA8670-1648 with IP address 192.168.4.1
Now you should find a WIFI network with the specified name:

(Yes, that's German)
Connect to it and in a browser type in the IP address you got after flashing. Note: If you are automatically forwarded to https:// make sure to write http:// so in my case it was http://192.168.4.1.
Configuration
Now let's continue with the actual configuration. Upon flashing the ESP32 is in a special mode where it creates a wifi network and after connecting over a browser you can choose to which WIFI Tasmoto should connect afterwards.

After you have chosen your WIFI and typed in the correct password Tasmoto will reboot.

You should automatically be redirected to the devices new IP address, but of course you need to reconnect with your WIFI that you have chosen for the device. In my case I had to once again write out the IP address with http://.

It works!
And we can already see that one sensor was detected: The internal temperature sensor, measuring the temperature of the chip.
Let's move on to the configuration menu under Configuration:

Now go to Configure Module:

Okay, here we assign the different functions for the pins of the ESP32. Remember, our sensors are connected via I2C to the GPIO pins 21 (SDA) and 22 (SCL), let's configure it that way:

All done
After a last reboot we can see that all sensors are automatically connected and show the respective values:

It's easy as that. I really like Tasmota.