| ESP32 is nice in that a lot of things you might have to fiddle with elsewhere just work.
They have a good ecosystem that they've spent time on. So things like auto-reconnecting wifi just works (it's been ported from ESP32 elsewhere but is a bit hit or miss).
Same with bluetooth and OTA upgrades, and you name it. Especially coming from some other board types, it was like "oh i guess that just worked the first time" for a lot of things. I have a bunch of ESP32-S3's locked in some woodworking machine cabinets (they are used to monitor the machines for dust collection control/failure/etc.). It's trivial to make them do firmware reprogramming over bluetooth. You could do over wifi too, but in my case, the machines are too RF noisy (VFD's, etc) and enclosed to make it work. bluetooth only works because i'm like 2 feet away, but it works and i don't have to open the cabinet to update the programming. I also use one to broadcast a stupid bluetooth beacon that my garage door opener uses for "UL compliance" - It has bluetooth lights, and it won't let you open/close the door remotely unless it detects them, because UL requires they visually signal the open/close when done over wifi.
Which again, just works. I never had that experience outside of the nRF52/nRF53 series There are some good low-power boards with the S3's, though it can be hit or miss (IE assuming you really want the 20ua deep sleep to be ~20ua). If you want something like a remote running off a small battery for 10 years, you may be better off with the heltec cubecell's or something.
(They really easily get 3.5ua in sleep) |
Once up and running they really are quite pleasant to use, and pretty damn cheap.
The issues that hurt me the most were:
1/ It doesn't come preloaded with 'AT' firmware, it took me a while to figure this out as well as a PCB respin.
2/ The clearly labelled TX and RX pins are for flashing and debug output only, not for communication with an an external microcontroller. Two to four GPIO pins (decided by the AT firmware) are used for communication in 'AT' mode
3/ Two GPIO pins need to be asserted high and low on startup to enter flash mode. This fine when you figure it out, however the flash tool still tries to upload the firmware and 'fails successfully' with the correct upload delay.