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

⏸️[FEATURE REQUEST]🦄USB serial support on ESP32-S2/ESP32-S3 for systems using CP210x, FTDI FT23x or CP34x #851

Closed
luc-github opened this issue Jan 20, 2023 · 11 comments

Comments

@luc-github
Copy link
Owner

luc-github commented Jan 20, 2023

Idf 5.1 has recently implemented multiple drivers registration support for USB CDC-ACM Virtual Com , it is implemented in ESP3D-TFT project

I have tested the feature with ESP3D-TFT and several boards (end3/ ender5/ FYSTEC E4, ESP32 boards...) and so far so good, but the esp board still need external power supply because USB port do not power esp, but no need to find serial port connections on printer/cnc anymore, just use right cable to connect printer/cnc USB port to ESP32-S2/S3 and they can communicate, this long time request finally come true ^_^

Arduino core dev team is working on IDF 5.1 implementation - https://github.com/espressif/arduino-esp32/blob/esp-idf-v5.1/
Once merged / released I will port ESP3D to this version and implement the USB-OTG support on ESP32-S2 and ESP32-S3.

@liqijian101
Copy link

liqijian101 commented Jan 20, 2023

It is wonderful!!I'm looking forward to this function

@khayamgondal
Copy link

@luc-github any update on this? Did you merge in ?

@luc-github
Copy link
Owner Author

no, core 3.0 is.not released

@luc-github
Copy link
Owner Author

Working on porting USB-OTG from ESP3D-TFT to a ESP3D I have realized that IDF 5.1.2 release updated the USB drivers
before:

## IDF Component Manager Manifest File
dependencies:
  usb_host_ch34x_vcp: "^1"
  usb_host_cp210x_vcp: "^1"
  usb_host_ftdi_vcp: "^1"
  usb_host_vcp: "^1"
  idf: ">=5.1.0"

to

## IDF Component Manager Manifest File
dependencies:
  usb_host_ch34x_vcp: "^2"
  usb_host_cp210x_vcp: "^2"
  usb_host_ftdi_vcp: "^2"
  usb_host_vcp: "^1"
  idf: ">=5.1.0"

which bring some minor API change but also a RX buffer with configurable size

image

So I will update the code to handle driver update in ESP3D-TFT first and review the porting code I have already did which consist in an additional arduino library using idf usb-otg component

@luc-github
Copy link
Owner Author

luc-github commented Feb 16, 2024

First step is now done, I have created an arduino library https://github.com/luc-github/esp32-usb-serial
I need now to prepare esp3d code to support 5.1 IDF code from esp32-arduino 3.0.0-alpha 3, I won't test platformio until 3.0.0 is released for esp32-arduino

@luc-github luc-github changed the title [FEATURE REQUEST]USB serial support on ESP32-S2/ESP32-S3 for systems using CP210x, FTDI FT23x or CP34x ⏸️[FEATURE REQUEST]USB serial support on ESP32-S2/ESP32-S3 for systems using CP210x, FTDI FT23x or CP34x Mar 4, 2024
@luc-github luc-github changed the title ⏸️[FEATURE REQUEST]USB serial support on ESP32-S2/ESP32-S3 for systems using CP210x, FTDI FT23x or CP34x ⏸️[FEATURE REQUEST]🦄USB serial support on ESP32-S2/ESP32-S3 for systems using CP210x, FTDI FT23x or CP34x Mar 6, 2024
@not-jan
Copy link

not-jan commented Jun 17, 2024

Hi, esp32-arduino has been releases. Are there any updates on this? Can I help in implementing somewhere?

@luc-github
Copy link
Owner Author

this feature was not in release so I did a library https://github.com/luc-github/esp32-usb-serial

I have ported also the ssdp library because arduino 3.0 is a breaking change
but platformio seems having issue to support the arduino esp32 3.0
so I have put on hold the porting of esp3d 3.0 for the moment

@luc-github
Copy link
Owner Author

Working slowly on implementation due to busy life, I moved from PIO to community PIO to get support of esp32 3.0.4~5
the library is integrated and the new client is almost implemented https://github.com/luc-github/ESP3D/tree/usb-otg
so it is WIP

@luc-github
Copy link
Owner Author

done with b409371

@luc-github
Copy link
Owner Author

luc-github commented Oct 19, 2024

Note: Configurator need to be updated to add

/* Optional Output 
 * Instead of Serial, you can use USB Serial
 * USE_USB_SERIAL //for ESP32  S2/S3 Only
 */
#define USB_SERIAL_FEATURE

Edit: Done

Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants