Experiment: ESP32 support#29
Conversation
|
Quick question is the ESP32 support targeting a certain variant? Cool to see the project moving forward. |
|
This is targeting the C6 for now because of the built-in radio but the radio backend is intentionally very generic, you could totally split it up between two chips like we do for the host. I'd have to double check what chips Espressif actually supports with their Rust crates. The C6 is RISC-V so I think anything else with that architecture should work identically? |
|
Got it, thanks. I was wondering if it was a split as you described or all in one radio stack so you answered my question. |
|
C6(X) and H2(X) is RISC-V with 15.4 radios that is compatible in there IDF. I have the Zigbee/Thread GW with ETH HAT if need testing in the future then its very standard but is having one very hotted S3 module (16M flash) but all modules used on it is original so have good PCB antennas and not like the clones mini board that have lost all RF tuning on the way from the factory (compared with the reference design). If you need help testing of ESP32 or EFR32 MG1 or MG21 devices give my one sign Puddly !! |
This comment was marked as off-topic.
This comment was marked as off-topic.
Clean up comment
|
The ESP32 experiment is a success! I'm able to run my home network on it with decent performance.
There are a few routing failure edge cases that I'm now running into but I suspect they may have surfaced due to the (artificially?) bad radio on the module. |
Great work Puddly !!!For the radio performance i think it can being good documentation what is devices is good and bad. The Seeed XIAO ESP32-C6 is having internal ceramic (with very narrow components) and one external connection and both shall working OK but must setting the GPIO right in the firmware for selecting witch RF path shall being used (if selected external without external antenna its being one big mess and can destroying the chip RF part). Other ESP32 original or good made clones with PCB antennas shall working OK and is (shall) being FCC/CE certed so must have OK RF filtering implemented (but no 100% grantee its in-place and working). |
This is an experimental branch to add support for ESP32 via Embassy.
The majority of the changes are restructuring the stack to be
no_std(simple) and rewriting all fire-and-forget background task spawns to instead be persistent, reactive tasks that have defined lifetimes (hard). ESP32 support seems very feasible, I want to try and tunnel the provisional JSON wire format over serial. The only feature missing so far is an energy scanning API in the ESP32 crates.This PR depends on a tiny fork of
abstract-bitsthat supportsno_std: yara-blue/abstract-bits@main...puddly:abstract-bits:puddly/no-std