The project is comparing different languages/technologies for ESP32
The application outputs "Hello world!". Then it prints information about chip, flash and heap size. Then the application waits for 10 seconds before rebooting.
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | ESP32 | n/a | n/a | n/a | n/a | n/a | ||
CPU Cores | 2 | 2 | n/a | n/a | n/a | n/a | ||
Features | WiFi/BTBLE | WiFi/BTBLE | n/a | n/a | n/a | n/a | ||
Flash size | 2MB 1 | 4MB | 8192 (?)2 | 4 MB | n/a | n/a | ||
Free heap | 300892 | 237568 | 113424 | 164064 | 179200 3 | 296028 | n/a | 300476 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32s2 | n/a | ||||||
CPU Cores | 1 | 1 | ||||||
Features | WiFi | WiFi | ||||||
Flash size | 2MB 1 | 4MB | ||||||
Free heap | 246696 | 229688 | 70848 | 2059520 | 178176 4 | 246844 | 248180 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32s3 | n/a | ||||||
CPU Cores | 2 | 2 | ||||||
Features | WiFi/BLE | WiFi/BLE | ||||||
Flash size | 2MB 1 | 8MB external | ||||||
Free heap | 386744 | 36992 | 150432 | 332800 | 388016 | 389976 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32c3 | |||||||
CPU Cores | 1 | |||||||
Features | WiFi/BLE | |||||||
Flash size | 2MB 1 | |||||||
Free heap | 327840 | 129808 | 322556 | 327124 | 329700 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32c6 | Not supported | ||||||
CPU Cores | 1 | |||||||
Features | WiFi/BLE 802.15.4 (Zigbee/Thread) | |||||||
Flash size | 2MB (1.) | |||||||
Free heap | 468852 | 440316 | 471068 | 471208 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32h2 | Not supported | ||||||
CPU Cores | 1 | |||||||
Features | BLE, 802.15.4 (Zigbee/Thread) | |||||||
Flash size | 2MB 1 | |||||||
Free heap | 262644 | 252924 | 265060 | 264824 |
ESP-IDF C | Arduino | CircuitPython | MicroPython | Rust no_std | Rust std | Toit | ESP-IDF ZIG | |
---|---|---|---|---|---|---|---|---|
Chip Target | esp32p4 | Not supported | ||||||
CPU Cores | 2 | |||||||
Features | none | |||||||
Flash size | 2MB 1 | |||||||
Free heap | 618680 |
Footnotes
-
Results marked with (?) does not seems to be correct, requires further validation. ↩
-
Rust no_std does not support non-continuous memory. ESP32 memory contains WiFi part in the middle. ↩
-
Rust no_std does not support non-continuous memory. The issue is caused by the bootloader on ESP32-S2. ↩