ESP32S3, PPP over USB #18715
-
|
I'm working on a pet project - mainly to understand more about Python and ESP32 kit. I'm a seasoned network engineer, hw designer and was a developer in a previous life, so I know this should be possible in theory... I'm just looking for specific advice on some steps.... Hardware: Xiao ESP32S3 connected to a MikroTik router via USB cable. MT router has no WiFi, just ethernet ports but can do PPP over serial via the USB port. It also does see the ESP32 as a serial device. I've had a play with the direct Espressif environment and can get so far, but using micropython would make this easier as I can leverage the various libraries available for doing PPP and the other code that I want to sit on top of it. First stage is to try to get the Xiao to not use the USB serial port for it's console & REPL. I've been able to build a custom firmware, but currently stuck on the settings I need to move the console to a different UART and not use the USB serial device any more. Ideally I'd like to put the console onto a pair of pins on the board (i.e. another UART) and also keep WebREPL working - but not via the USB serial interface. That way, I can enable WiFi locally here in the lab and connect to it to get debug info. Lots of info I can find on ESP32 and PPPoS get the ESP32 to use a different UART for the PPPoS, leaving the USB serial port for the console. I want to do this the other way around. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
|
Not an answer to your question, but possibly worth exploring if this could run on an esp32-C3 as well @andrewleech will know |
Beta Was this translation helpful? Give feedback.
-
|
So I'll answer my own question - maybe useful to someone else in the future. Created a custom ESP32 board config based on ESP32_GENERIC_S3 and in mpconfigboard.h set This enables the serial UART on the physical pins on the ESP32 but disables the serial port via USB used for REPL. Then I create a new CDCInterface (via the usb.device.cdc library). This gives me a single USB serial port that's not connected to REPL. Only issue I have now is that although CDCInterface says it's been written to mimic UART, it's missing the irq() method, but I'll start a new discussion about that. |
Beta Was this translation helpful? Give feedback.
So I'll answer my own question - maybe useful to someone else in the future.
Created a custom ESP32 board config based on ESP32_GENERIC_S3 and in mpconfigboard.h set
This enables the serial UART on the physical pins on the ESP32 but disables the serial port via USB used for REPL.
Then I create a new CDCInterface (via the usb.device.cdc library). This gives me a single USB serial port that's not connected to REPL. Only issue I have now is that although CDCInterface says it's been written to mimic UART, it's missing the irq() method, but I'l…