The serial port is the most basic connection. It can fully control FluidNC and it also receives useful messages before other interfaces like WiFi and Bluetooth are running. If the ESP32 crashes, detailed information about the reason is sent there.
The FluidTerm program that comes with FluidNC in the release installer package is a good way to interface directly with the serial port for debugging and initial setup. You could also use other terminal programs like the one in WebInstaller, or the Arduino IDE, or platformio, or the console in a Grbl sender UI. If you use a terminal program that is not specifically intended for FluidNC, set the communications parameters to 115200 baud, 8 data bits, 1 stop bit, no parity.
If you want to reboot to see the startup info, send $bye or click the boot button on your module. FluidTerm also lets you reset the ESP32 by typing Ctrl-R.
In order for you to be able to automatically program an ESP32 through the serial port. The serial port must be able to reboot the ESP32 and tell it to enter bootloader mode. It does this using a sequence of pulses on the RTS and DTR signals coming out of the USB to serial chip on the dev kit module.
It does this using this circuit...
And this sequence...
If your serial terminal does the first step of this when opening a connection, it will reboot the ESP32. If you are trying to connect to a running ESP32 and don't want to reboot it, you must make sure the serial terminal does not do this.
If you cannot connect to the ESP32 with a serial terminal like FluidTerm, or with a serial download program like the installer in the release package or WebInstaller, use Windows Device Manager to see if the PC recognizes the USB Serial device on the controller board .
On Mac, you can look in the USB section of the System Information tool.
The types of USB Serial devices that are common on ESP32 systems are "Silicon Labs CP210x" and "CH340". If there are several such devices, the one you want is the one that disappears from the list when you unplug it.
If there is no such device, sometimes it is because your controller board requires external power. Most controllers let you power the USB Serial chip and the ESP32 itself directly from the USB cable, but there are some boards that only work if you have external power.
Another possible problem is a bad USB cable, or a power-only USB cable that is meant for charging only and has no data wires inside.
If Device Manager shows a device but indicates that it has problems, the problem could be that you do not have a device driver installed for the USB Serial chip that is on your board. Install a CP210x driver or a CH340 driver as needed.
If you are having issues with dropped USB connections, keep in mind the firmware and the ESP32 have very little to do with this connection. There is a USB to serial chip that maintains the connection and turns it into serial data. The firmware and ESP32 cannot cause a drop in the USB connection. If there is a problem in that area, the transfer of data may stop, but the USB connection is not affected. The firmware does not know that the connection was lost.
The typical problem is related to electrical noise, physical connection or voltage drop. Be sure you are using a high quality cord that is as short as possible. Tie it down, so it cannot wiggle at the connector. Consider using a powered USB hub to make sure it have plenty of voltage. Route it away from any wires on your machine, especially motor wires and power wires.
We are sorry, but we can only provide limited help with this problem.