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

Running this on esp32-s2? #21

Open
ghost opened this issue Jul 19, 2020 · 6 comments
Open

Running this on esp32-s2? #21

ghost opened this issue Jul 19, 2020 · 6 comments

Comments

@ghost
Copy link

ghost commented Jul 19, 2020

I'd be interested to know if this would run on an esp32-s2.

If any of the project contributors are interested in trying, I'd be happy to pay for a couple of esp32-s2 boards for you to use.

I know it's not much money to spend but it's not really fair to ask without volunteering the hardware too.

If any of the project contributors are interested, let me know and we'll work out how I can pay for the purchase.

The esp32-s2 has pros and cons for this versus the esp32.

PROS:

  • the s2 is able to map up to 10MB of PSRAM into DMA addressable memory, which is much better than the esp32 can do, and could enable large frame buffers, although I believe this library does not use a frame buffer?
  • the s2 has USB which would be good for keyboards/mice/controllers
  • the s2 costs less than the esp32 - not a big deal of course if you're only buying one device.

CONS:

  • the s2 does not have bluetooth, so controllers/keyboards would need to be USB connected.
  • the s2 only has a single i2s peripheral, but I believe this library only uses one i2s anyway - is that correct?
  • the S2 only has 320K SRAM but maybe this is not an issue given the large amount of PSRAM that can be mapped in?
  • the S2 only has a single core - I don't know if there's enough computing power to run all this with only one core? Having said that, it is a later version of the Extensa core used in the esp32 AND also there is a RISCV ULP processor on the S2 but I don't think that is yet supported in the ESP-IDF.

Reference:
https://twitter.com/i_grr/status/1245361553035198464
https://twitter.com/i_grr/status/1245429953136594945

@RoCorbera
Copy link

Does S2 support USB Host interface and protocol?
I don't think so. As far as I have read, it only supports Client USB...

@ghost
Copy link
Author

ghost commented Jul 21, 2020

@RoCorbera I'm pretty sure they are working on host mode.

See thread:

https://www.esp32.com/viewtopic.php?t=16147

@RoCorbera
Copy link

We can follow the specs at https://esp32.com/viewtopic.php?f=10&t=14532
So far:
USB Device — Supported
USB Host — Not supported (IDF-530)

and based on the status of this issue (espressif/esp-idf#5454):
Ivan Grokhotkov (from Epressif/Shangai) answered to Chegewara (support from Espressif): "Hi @chegewara, unfortunately we don't have timeline for the USB Host feature, yet." on Jun, 15th.

Thus I have not much hope for it...

@chegewara
Copy link

Support for USB host will be added for sure on S2, especially that S3 is on its way which also support native USB. The problem is it is in very early stage in tinyUSB library.

@RoCorbera
Copy link

Thanks for the update, @chegewara !
Would it work for ESP32 WROOM as well?

For future reference of others, here are some links about tinyUSB and ESP32:
https://github.com/hathach/tinyusb
https://www.esp32.com/viewtopic.php?t=15908
https://github.com/chegewara/esp-idf/tree/master/examples/peripherals/usb
https://github.com/chegewara/esp32s2-tinyusb-arduino-as-component

@chegewara
Copy link

Would it work for ESP32 WROOM as well?

No, esp32 does not support native USB.

btw, there is missing 1 library from my repo ;)
https://github.com/chegewara/EspTinyUSB

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

No branches or pull requests

2 participants