Before initial hardware provisioning can take place, you must connect the ESP32 to a computer with a serial connection - like a USB cable.
If you have problems connecting your ESP32 to your computer, the Toit CLI offers some commands to help you back on track setting up the ESP32 with Toit.
Connect your ESP32 with a USB cable to your computer. List the serial ports currently in use on your computer by running the following command with the Toit CLI
For example, if exactly one serial port, called
/dev/ttyUSB0, is currently in use, the output of the command will look like this
In order to set the default serial port to use in the Toit CLI serial commands that talk to your hardware, run the following command
Using the example above, run the command
to set the default port in all
toit serial commands in the Toit CLI.
If you have not set a default serial port to use, and there are multiple serial connections active on your computer, the
toit serial provision command will prompt you to choose one of
the serial ports in order to continue the provision command using the correct port.
To get the default serial port in use, run the command
You can monitor the serial output of the ESP32 with the command
monitor command can be stopped by
If you have initially provisioned your ESP32, run the following Toit CLI command to read the hardware information via serial output:
Some hardware models need physical interaction with the device during initial provisioning - like pushing a button. If provisioning doesn't work, consult the documentation for your ESP32.
if you have timeout problems when provisioning, some hardware models require you to hold down BOOT button.
if your device wasn't able to connect via WiFi to the Toit cloud during the provisioning, it is not yet claimed. In this state the device is provisioned with the Toit firmware, but is not yet linked to your Toit account. Follow the instructions here to manually claim the device once it has managed to go online.
if the provision command fails during the first part of the provisioning process, the hardware ID (if any) is written to the local disk if possible and will be reused the next time the command is executed on the same computer.
if the provision command fails, consider trying with a lower baud rate (here half the default baud rate):
If you are using macOS or Windows, you might need to install or update the following two drivers on your computer:
- The Virtual COM Port driver (VCP) from here
For Windows, there is also a setup executable available for download.
- The USB to UART Bridge VCP driver from here.
For Windows, install the CP210x Universal Windows Driver. For macOS, install the CP210x VCP Mac OSX Driver.
Install both drivers, reboot your computer and you are ready to talk to your ESP32 via a serial port.
If you have trouble connecting your ESP32 device with your computer via a serial connection
try a different serial port on your computer and run the
toit serial portsCLI command again to detect the correct serial port to use in the commands.
try to disconnect all other serial connections, if any, from your computer, to be sure to only have the ESP32 connected to your computer as the only one.
try to plug in the hardware with a USB cable directly into your computer instead of using a USB hub in between.
if you are on Linux, make sure you are in the
dialoutgroup as explained here.
be sure to use the correct type of USB cable to connect with when provisioning your ESP32, in other words a cable for both data and power, and not only for power usage.
always set the default serial port to be used in the serial CLI commands with
toit serial port use <port>in order to avoid mistakes when talking with your device on a serial connection.
When the ESP32 has been initially provisioned with WiFi credentials, the ESP32 device is connecting to the network via WiFi, and the serial connection is purely for debugging the device if WiFi connection is lost. In other words, you can plug the ESP32 into another power source and communicate with the ESP32 over WiFi from now on. Later on you can always add other connection types, like cellular connection.
If your ESP32 is misconfigured in any way, for example if it does not have valid WiFi connection settings, reinstall the ESP32 with the Toit firmware
and WiFi settings via a serial connection, by connecting it with a USB cable to your computer, and run the
toit serial reinstall command
with the appropriate WiFi connection settings provided.
reinstall command reinstalls Toit firmware and settings via the serial port without changing its hardware certificate or hardware ID.