Skip to content

Experiment: ESP32 support#29

Draft
puddly wants to merge 17 commits into
devfrom
puddly/esp32-test
Draft

Experiment: ESP32 support#29
puddly wants to merge 17 commits into
devfrom
puddly/esp32-test

Conversation

@puddly

@puddly puddly commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

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-bits that supports no_std: yara-blue/abstract-bits@main...puddly:abstract-bits:puddly/no-std

@tube0013

Copy link
Copy Markdown

Quick question is the ESP32 support targeting a certain variant?

Cool to see the project moving forward.

@puddly

puddly commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

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?

@tube0013

Copy link
Copy Markdown

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants