The current position of serial support on ESP32 boards


#1

A convenient way of interacting with uLisp is to upload Lisp programs by pasting them into the Serial Monitor, or a terminal. However, there have been problems with the serial support on some of the ESP32 variants that has made this unreliable for long programs. I reported this a while ago to the ESP32 Arduino repository.

I have recently tested uLisp release 4.9a with a range of boards, using the latest ESP32 Arduino core (3.3.7), and I’m pleased to say that this problem seems to have been resolved on most boards. Here is a summary of the current position:

Original ESP32: There was never a problem on these boards because the ESP32 doesn’t include native USB support, so these boards include a USB to Serial chip which works without problems.

Espressif ESP32 S-series boards: These Dev boards all provide a USB to Serial chip in addition to the native USB; selecting this gives reliable serial support; see Espressif ESP32 S-series boards.

Adafruit ESP32-S2 boards: These boards rely on the ESP32-S2 native USB interface which previously gave problems. This now seems to have been resolved in the recent ESP32 Arduino core; see Adafruit ESP32-S2 boards.

Adafruit ESP32-S3 boards: These boards rely on the ESP32-S2 native USB interface which previously gave problems. This now seems to have been resolved in the recent ESP32 Arduino core provided you set the USB Mode to TinyUSB; see Adafruit ESP32-S3 boards.

Adafruit ESP32 C-series boards: These boards rely on the ESP32-S2 native USB interface and they still can’t handle a large serial upload. The workaround is to use Slow Paste from a terminal to upload long programs; see Adafruit ESP32 C-series boards and Using uLisp from a terminal.

Espressif ESP32 C-series boards: These Dev boards all provide a USB to Serial chip in addition to the native USB; selecting this gives reliable serial support; see Espressif ESP32 C-series boards.

Let me know if this agrees with your experience.

3rd March: Added Espressif ESP32 C-series boards


Pasting in long listings on the ESP32