I published an SD adaptation of that server more than a year ago, and it works fine. I’m not dissing that effort, it’s great. But it’s not a product of or included in the official core. Me-no-dev has done a great job, but is limited. There has been some discussion lately of LwIP2 not being properly synchronized for multi-threaded operation. I haven’t been following it in detail, because my problems with LwIP2 in single-threaded operation took precedence. As I have ironed out those problems, and fixes have gone into the core, it has become OK for me. I think I’ll wait a spell and leave the bleeding edge to others. The symptoms I saw were problems under heavy load.
I’m saying that I do SPI on the ESP8266 using the hardware registers for speed. Stuff like this:
// hardware send 5 bit start + sgl/diff + port_addr
SPI1U1 = (SPI1U1 & mask) | dataMask; // Set number of bits
SPI1W0 = (0x18 | Vport) << 3; // Data left aligned in low byte
SPI1CMD |= SPIBUSY; // Start the SPI clock
// Do some loop housekeeping asynchronously while SPI runs.
I have made inquiries about how to do that on the ESP32 and it will require that I do an NDA with Espressive and do a lot of reading. It is true that I could use their SPI class, but my point is that is slower and would result in more granular sampling, which compromises accuracy. The processors themselves are the same as the 8266, it’s just that you get two of them, so it’s not inherently faster for something like sampling.
It’s true that certifying a low-voltage device is way less expensive and complicated, plus I don’t believe I have the skills to build a certifiable high voltage device. Nevertheless, most of the certification and regulatory approvals are really just cash cows for the NRTLs. They have it and they know you need it, and then you have to get into a regular inspection and renewal scheme because their business models are based on recurring revenue streams. It really isn’t a technical thing.
Most folks are simply not interested in that.