https://github.com/markrages/blackmagic/blob/esp8266/src/pla...
The ESP32 datasheet is 62 pages. The STM32F4 datasheet is 1729 pages, and that's not counting the reference manuals.
The ESP32 datasheet contains about 3 paragraphs about the ADC, which basically say that it has an accuracy of +/-6%, see example code for ways to calibrate it (which probably amounts to a linear interpolation between two sample counts with the pin pulled to ground and AVDD). In the STM32 manual, the section on the ADCs is much longer than the entire ESP32 datasheet, and goes into gory details about every possible nonlinearity/ missing counts/ slope/ offset/ noise/ reference voltage and other various potential sources of error you might encounter. If you wanted to build, for example, a wireless machine that included a precision scale, you can see why you'd want to use the STM32F4 ADC instead of the ESP32 ADC because a thorough understanding of that peripheral is critical to your application.
If you want to drop in someone else's ESP32 code and use it to push bytes over the air, it's a great tool. If you want to actually develop some application for it that doesn't exist yet, you're on your own.
There are packages out there that use ESP32 as a "augmentation" chip to do OTA with a main processor being STM32 or NXP. There are also major security flaws and silicon revisions made by ESP32 that makes the whole thing reek of inadequacy beyond anything a hobbyist would do.
ESP32 -> Hobby use only. Don't spin up $500k of tooling and HVM batch relying on a weak CPU that will give you some chance of a complete recall or losing your customer base that took many years to build.
Hobbyists on Youtube and EE Stackoverflow are oblivious to the professional world. Let me know if you would like sources, I don't have time to dig into it but esp32.net is a good place.
I'm not certain I would consider this a 'feature'.
I have been forced to use F042 and F767 for work, and I must say, I have never seen such convoluted peripheral implementations in my life. There is complexity for complexity's sake, it seems to me. I could write a booklet about this, with each bloated, twisted peripheral as a chapter.
[0] I am an embedded engineer who works with STM32 and bluetooth modules
I was just looking around whether it is possible to create custom apps (on phones) to sync with smart watches (generic ones from places like aliexpress). I have no experience with bluetooth, but is there anything that would prevent you from making something like that? Even if it is just for myself, I don't need to release or anything.
Do you happen to know if it is possible and where I can look?
(FWIW, all my ESP32 development has been in C with FreeRTOS. I'm not one of those people who insists on shoving the Arduino stack onto everything.)
https://github.com/RIOT-OS/RIOT/tree/master/examples/suit_up...