The ESP32 is a remarkable device. It is low cost but with many different subsystems that make it more powerful than you might think. You can use it for simple applications because it is cheap, but you can also use it for more sophisticated applications because it is capable.
MicroPython is a good choice of language to program the ESP32. Although it is a slower language than C, most of the time this doesn't matter and it is much easier...