top | item 42528083

(no title)

equestria | 1 year ago

The wifi protocol is computationally intensive. The wifi module is effectively a fast 32-bit computer with fairly complex firmware. And then, there's all the RF engineering that needs to happen to make it work.

So, the original thinking was "if you need wifi, we can't price a standalone chip competitively, just buy a SoC". But the genius of ESP32 was that they approached it the other way round: they built a wifi chip, and then figured they can carve out some room for user code. No need to pay for a separate MCU. This worked for a lot of customers, and the economies of scale took care of the rest.

discuss

order

numpad0|1 year ago

Wi-Fi chips always had "user" program area, in theory anyone could call any of chip vendor, and with NDA, $$$ an 5 years of back and forth, could have met the exact same goal as what you can do today with ESP32, even in 2010. I've seen a Twitter ticker display made from a mPCI Wi-Fi card in a maker meeting back then. The guy demoing it was a company engineer with access to internal docs, wasn't giving it to anyone else.

The genius of Espressif was that they didn't issue C&D letters and DMCA takedowns when people started modifying firmware for their product using garden variety GCC without even asking and then ported hobbyist garbage called Arduino Core. They did initially panic a bit, but soon their management realized it's a golden ticket to something, and they bet the whole company on it. And they got the return they deserve.

There aren't a lot of aspects that are technically so advanced about ESP8266/ESP32. It's just the ones made by the hungriest and most aspiring Wi-Fi chip manufacturer.

ryao|1 year ago

Is there a write up somewhere talking about the panicking? It might be interesting to read. I am curious how they enabled people to do this without realizing people would do it.

mystified5016|1 year ago

To chime in, adding the espressif WiFi libraries to your firmware adds 500-600KB of code. In the trivial IoT widget I just made, the firmware is >90% espressif code by weight.

The RAM use is also... noticeable. It takes quite a lot for this chip do WiFi.

vbezhenar|1 year ago

It is similar for BLE. I recently wrote firmware for nrf52 device. Proprietary blob was 100 KB. My code was 60 KB and actually like 40-50 KB was caused by crypto library which is basically required part of BLE stack as well, just distributed with code and not in the blob.

zazaulola|1 year ago

ESP32 has 18 ADC input channels. But if you are using Wifi, you can only use 8 of the 18 for ADC conversion: GPIO pins 32-39.

Other 10 pins, on which ADC2 channels are possible, can only accept pulse data if you are using Wifi.

This is probably due to firmware limitations.

rkagerer|1 year ago

How is progress toward a useable open source alternative?

AlotOfReading|1 year ago

Virtually non-existent? There aren't that many people doing open RF hardware, and all of the ones I'm familiar with are working with SDR because the costs go up massively once you go to tapeout.

brcmthrowaway|1 year ago

Why doesnt Apple use ESP32

mystified5016|1 year ago

Because the ESP can only barely do WiFi. You can get a couple of Mbps under ideal conditions. It is not a general purpose WiFi adapter, it's a low power IoT chip.

A general purpose WiFi adapter can do gigabit sustained connections over PCI or some other high speed interface. Entirely different class of chip.

epcoa|1 year ago

While they’re only now coming out with even a 5GHz model there isn’t really much in Apple’s product line that needs a lowend primarily “IoT” WiFi. Maybe the HomePod, but they already have better chipsets for their flagship devices.

chedabob|1 year ago

To what end?

I can't think of an Apple product that needs low power Wifi and/or Bluetooth, and also operates at such a low price-point that there's not budget to put something bigger on the BoM.

bschwindHN|1 year ago

* Too slow * Uses too much power

Apple products would absolutely suck if they used ESP32 for their wifi and Bluetooth functionality.