Hacker News new | ask | show | jobs
by Huwyt_Nashi_064 1750 days ago
Maybe nitpicky but why is the ESP32 (dual core @ 240MHz, 300kb+ memory, options with megabytes of flash and memory integrated in package) relegated to coprocessor for a 48MHz microcontroller with 256kb flash and 32kb memory?
5 comments

Hi! I am actually directly involved with Pocuter. Amazing to see it posted here! The ESP32 alone doesn't have enough pins to handle all of the features of the Pocuter, so the SAMD21 was selected as the main MCU to supplement this. We are looking in to upgrading to the ESP32-C3 in the near future.
The security features on the ESP32-C3 are great!

> Secure Boot, Flash Encryption, Digital Signature and HMAC Peripheral, Trusted Execution Environment (TEE) / DRM

That could open up new use cases. Strange its RSA only (no ECC).

https://www.espressif.com/en/news/ESP32_C3?0

And it's RISC-V based too.
That's quite reasonable.

Agree that C3 would be a good 'upgrade' here. There's no need for a fully featured ESP32 and C3 will save some cost.

A lot of powerful computers were built by bunging in a powerful CPU, perhaps with extra RAM, as a coprocessor to an already-existing weak computer, whose weak CPU then serves as a sort of front end processor, or FEP. An example is the Tandy Model 16, which was the second line of desktop Unix workstations ever released (and arguably the first affordable one, for multi-kilobuck values of "affordable"). It was basically a Tandy Model II Z80-based computer with a daughtercard carrying a 68000 processor and up to 512 KiB of RAM. The 68000 actually ran the Unix (Microsoft Xenix), and delegated I/O to the various peripherals to the Z80.
Not nitpicky at all. Some ideas.

1. I believe that there are some microcontrollers that have irreversible settings, such as a setting to permanently disable writing to flash memory.

Is the ESP32 such a processor?

If so, maybe they want to have WiFi on a coprocessor that they can write protect so that they can get certification to sell their modules in jurisdictions that require that WiFi has protections against people reconfiguring it to use channels that are not part of the WiFi bands in those jurisdictions.

2. Their software, Pocuter OS 1.0, the SDK, and the 3D and physics libraries seem to be a big part of their pitch.

Maybe they already had these, or a large part of them, for ARM before they decided on how they would do WiFi and BLE. Later they picked ESP for WiFi and BLE and could run everything on that, but porting their OS and low level libraries from ARM to Xtensa or RISC-V (depening on which ESP32 they are using) might be a lot of work.

3. Power savings? If WiFi and BLE aren't being used they can completely shut down the ESP32.

This is probably not it though, because I believe that ESP32 provides very fine grained control over power. They could run everything else on the ESP32 and still completely shut down WiFi and BLE when not in use.

4. I have absolutely no reason whatsoever to believe that they are doing it for the next reason I'm going to name. I'm just including it because I'm sure at some point someone on Kickstarter or Indiegogo is going to try it.

Use a coprocessor for WiFI and BLE that is ridiculous overkill if that is all at does, and use all that extra power to run something of interest to you such as mining crytocurrency.

Edit: oh well, none of these guesses turned out right.

1- AFAIK, Espressif uses closed binary blob for WiFi so the channels could not be tampered with. Still, they need FCC regulation for their whole product in some jurisdictions.

4- I don't think any kind of crypto could be reasonably mined on these MCUs.

Wouldn't changing the locale settings defeat 1-?
locale? If you mean some config, I think the binary blob should handle WiFi protocol to the spec (BTW, It's a freeRTOS application IIRC)
Different territories have different channel restrictions. As a result, some countries have access to channels that other countries do not. Setting your wifi up as if it is in Japan gives you a couple of channels you are not legally allowed to access in North America, for example.
The topic of mining crypto on microcontrollers something I see so often, and it drives me crazy. Mining crypto takes a ton of energy, so why would you do that on a battery powered device? ffs
Same reason people do cryptomining via JavaScript malware on web pages: it is using someone else's resources.
I mean, have you done much embedded systems dev? What good is crypto mining when the device dies in an hour?
Almost certainly because of better tooling and probably better peripheral support.
Pretty much! :D
They support native USB and ESP32 doesn't have that.