My experience with microcontrollers is not up to date. Most of the stuff I did was 15 years ago.I remember, Espressif really disrupted the market. Things changed already with Advent of Arduino. Before that people wrote a lot of asm code inline and MCUs particularly from microchip had really good documentations (sure some quirks and errata always appeared later, but as I remember they found their ways into data sheets and application notes). Particularly as binary blobs e.g. for network appeared the API went from well defined hardware interfaces to libraries, etc. Today it is even common for some of those domain specific IC that typically rather contain an MCU that you have to sign NDAs to get access to documentation of some parts.
Lots of horror stories from people who had to respin their boards because you couldn't buy ST at any price when they redirected all their output to car manufacturers during the chip shortage. They may be cheaper now but vendor lock-in never helped anyone (except that vendor) in the long run. Oh, and most Chinese wifi gadgets use Beken nowadays because it's even cheaper than Espressif, what are the chances of them switching to a more expensive chipset instead?
We never had problems as a small vendor with ST during the chip crisis and all distributors honored our delivery contracts. Even most big companies don't deal with ST directly when it comes to the last mile.
Porting stuff to another microcontroller would be easy as we are not using too proprietary features... as long the uC has SPI/I2C and a bunch of timers the embedded developers will be happy. Thanks to Zephyr.
That only gets you proper support for a couple vendors (Nordic, ST), everything else is a nightmare. Even with better-supported vendors, there are whole swaths of things that aren't properly supported and you need to directly call code from underlying vendor SDK to make things work. That bodge makes the whole project non-portable. Even some simple things like ADC DMA on ST F1 series..
ST doesn't want to make one because then you can do OTA firmware updates without their special $60 usb to serial adapter that won't work for non-st parts
Except when they don't. Last time I tried an ST part, I specifically bought one that advertised UART bootloader.
It didn't. Every piece of documentation I could find said that it did, but it would never respond. Forums were full of people complaining about this problem for years with no response from ST. No datasheet or marketing update, no errata. You just get a useless chip and it's your problem now. They also never responded to any of my direct emails or messages.
Every time I've tried an ST part, it's been hell and I eventually gave up and used an Atmel part instead. Every time.
> MCUs particularly from microchip had really good documentation
Oh how the mighty have fallen. I've only worked on one major project with a Microchip MCU (PIC32MK), but their documentation and support were terrible. No detailed documentation, just a driver library with vague, sketchy API docs and disgustingly bug-ridden code. Deadlocking race conditions in the CAN driver, overflow-unsafe comparisons in timers, just intern-level dumbassery that you couldn't fix without reverse engineering the undocumented hardware. Oh, and of course what documentation did exist was split into dozens of separate PDFs, individually served, many of which were 404 unless you went hunting for older versions or other chips in the product line. It certainly cured me of any desire to touch another Microchip product.