Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wifi support for ESP32/ESP8266? #2024

Open
Technerder opened this issue Aug 2, 2021 · 16 comments
Open

Wifi support for ESP32/ESP8266? #2024

Technerder opened this issue Aug 2, 2021 · 16 comments
Labels
enhancement New feature or request esp32

Comments

@Technerder
Copy link

I recently stumbled upon this project and was thrilled to see that some basic features such as I2C and SPI were supported on the ESP32/ESP8266. Are there any plans to support Wifi on the chips and if so when can we expect to see a bare/basic implementation in the main code base?

@aykevl
Copy link
Member

aykevl commented Aug 3, 2021

I would absolutely love to see WiFi/BT support on these chips! However, it's going to be difficult because it doesn't have a lot of documentation. I've ordered an ESP32C3 which I want to try to add WiFi support to. Specifically the ESP32C3 because it uses the well documented RISC-V architecture instead of the sparsely documented (if at all) Xtensa architecture in the original ESP32. So my idea is that it should be a lot easier for that reason and when that works, I can use that knowledge for the original ESP32.

I can't give you a time for when it will be finished, like I can't give you a time for when anything will be finished. Sorry.

@deadprogram deadprogram added enhancement New feature or request esp32 labels Aug 3, 2021
@Dorbmon
Copy link

Dorbmon commented Aug 5, 2021

I hope too...

@scroot
Copy link

scroot commented Aug 15, 2021

i am also hoping for this...

@wlwatkins
Copy link

any update on this?

@aykevl
Copy link
Member

aykevl commented Oct 2, 2021

Yes, please follow #2138 and tinygo-org/drivers#320.

@l1f
Copy link

l1f commented Aug 23, 2022

thank you @aykevl for your work! Are there any updates on this?

@ngandalf
Copy link

is there any news about wifi support on esp8266 / esp32 ?

@conotto
Copy link

conotto commented Oct 29, 2022

You would be better off using ESP-AT firmware on your ESP and control it with something well supported like RP2040 (yes, i realize thats 2 chips but at least you can have something that works now).
ESP8266/ESP32/ESP32-S2 are no longer actively developed or supported by Espressif, they now only recommend using ESP32-C2/C3 chips.

This is what i ended up doing.

@ericmigi
Copy link

@conotto I would love to chat about how you solved this - any chance you could DM me on twitter.com/ericmigi or send me an email (username@gmail.com)?

@CrazyPandar
Copy link

I found an ESP wifi driver, maybe this helps.

https://github.com/esp-rs/esp-wireless-drivers-3rdparty

@aykevl
Copy link
Member

aykevl commented Jan 12, 2023

@CrazyPandar yes that's what we should use (see tinygo-org/drivers#320 (comment)).

@DatanoiseTV
Copy link

In rust, this was implemented: https://github.com/esp-rs/esp-wifi
Maybe this could be adopted to TinyGo?

@aykevl
Copy link
Member

aykevl commented Jan 22, 2023

@DatanoiseTV yes, see my comment above (which links to tinygo-org/drivers#320 (comment)). TL;DR: we should indeed use https://github.com/esp-rs/esp-wireless-drivers-3rdparty. But that's a lot of work and nobody has stepped up to do it yet.

@pcting
Copy link
Contributor

pcting commented Feb 25, 2024

what would be the process of integrating the esp-wireless-drivers-3rdparty code? i could give it a try, but i don't have much embedded experience. are we talking about linking in the .a files and generating go code to wrap functions in the c header files using cgo?

@aykevl
Copy link
Member

aykevl commented Feb 25, 2024

@pcting please follow this PR instead: tinygo-org/drivers#650
Once the ESP32-C3 is implemented, we could take a look at supporting the ESP32/ESP8266 but those are going to be a lot more work because they also need Xtensa interrupt support. I spent a few days trying to get Xtensa interrupt support working at some point, but gave up on it.

I recommend following the ESP32-C3 work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request esp32
Projects
None yet
Development

No branches or pull requests