top | item 29001820

(no title)

kingosticks | 4 years ago

They asked for dual core. The C3 is single core.

> ESP32-C3 is a single-core, 32-bit, RISC-V-based MCU with 400KB of SRAM, which is capable of running at 160MHz

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

discuss

order

tlamponi|4 years ago

And ESP's rust support provides threads and async supprot nonetheless.

With a zero-cost async implementation you may not require multiple cores, for some hard realtime stuff maybe, but even that can be handled by the work scheduler.

bri3d|4 years ago

The challenge in single-core timing-important ESP development is using the wireless peripherals effectively while maintaining I/O scheduling. Even with "zero-cost async" at the application layer, the WiFi and Bluetooth implementations are mostly software and will be getting scheduled on that same single CPU. You don't really get to control their scheduling in a granular manner, so meeting timing is pretty hard in many situations.

This is probably the most annoying thing about ESP development, but mostly goes away when you can just dedicate a core to the "ESP stuff" and then run your application on the other core.

kingosticks|4 years ago

"low-latency processing of IO input" may well be talking about hard realtime stuff, for which threads/async on a single core doesn't help you.