Finally, why I think Rust is way to go for a embedded miner, it is mainly because Stratum V2 Reference Implementation is done in Rust (
https://github.com/stratum-mining/stratum), I recently joined their weekly dev meeting and they seems to be interesting into a first embedded implementation. It can be done on the ESP32-S3 on top of IDF without the need to have actual BM13xx I think.
And about others Bitaxe's chip driver, I have well debugged my EMC2101 rust driver, but it is not finished yet.
Stratum V2 (S2) has huge savings in bandwidth to pool since it is binary in a group channel to pool also comes with encrypted "noice" protocol, compared to stratum V1 that is clear json over http.
S2 has a reference implementation SRI that has roles of mining device (MD), proxy / translation-proxy (T-proxy) and S2-pool.
the T-proxy will enable a miner use S1 in FW of MD <=> T-Proxy <=> S2-pool.
Before a native in Rust reference implementation of FW exist, SRI is going to make a S2-cgminer meaning a MD can run T-proxy <=> cgminer in MD direct instead of having too use a separate T-Proxy machine instance before connecting to S2-pool, comes in handy for miners with few MD's, else using a T-Proxy for miners where all MD is collected into a group channel to S2-pool is the way.
more of the SRI effort to make a S2-cgminer here :
https://docs.google.com/document/d/1iW48-Y4Xvr2IN7PU_9xYw-i5wReCQ98SyliI55_LSos/edit