Whirlybird: Difference between revisions
→Firmware: REPL |
m →Firmware: variation notes and typos fix |
||
| Line 30: | Line 30: | ||
</pre> | </pre> | ||
While the device enumerates | While the device enumerates with USB connected and has the capacity to facilitate serial communications, it is not really feasible with the constant reboot cycle. There are two slight variations of the board, the ones with a populated micro SD slot mostly have this issue, and the others do not. However connecting to the <code>TXD0</code> pin to the <code>Rx</code> of a USB/Serial UART converter the following can be captured. Additionally holding the ESP32 in reset and monitoring the UART you can capture the following by briefly releasing the reset and then re-enabling reset, otherwise you will get a continuous flood of the same messages at <code>115200 baud</code>. | ||
<pre> | <pre> | ||
ESP-ROM:esp32s3-20210327 | ESP-ROM:esp32s3-20210327 | ||
| Line 41: | Line 41: | ||
</pre> | </pre> | ||
Some of the boards do properly enter "Boot Mode" which is done by | Further experimentation is indicating it may be related to a fault in the thru-hole GPI0 as directly shorting <code>GPIO0</code> (Pin 27) to ground can result in the following. | ||
<pre> | |||
ESP-ROM:esp32s3-20210327 | |||
Build:Mar 27 2021 | |||
rst:0x1 (POWERON),boot:0x36 (SPI_DOWNLOAD_BOOT) | |||
wait spi download | |||
ESP-ROM:esp32s3-20210327 | |||
Build:Mar 27 2021 | |||
rst:0x15 (USB_UART_CHIP_RESET),boot:0x36 (SPI_DOWNLOAD_BOOT) | |||
Saved PC:0x400507ae | |||
wait spi download | |||
</pre> | |||
Attempting to use <code>esptool.py</code> generates a <code>Connecting...</code> message and then the serial output generates and updated message. | |||
<pre> | |||
ESP-ROM:esp32s3-20210327 | |||
Build:Mar 27 2021 | |||
rst:0x15 (USB_UART_CHIP_RESET),boot:0x36 (SPI_DOWNLOAD_BOOT) | |||
Saved PC:0x400507ae | |||
wait spi download | |||
</pre> | |||
However this seems to hang the USB connection and nothing further happens until it times out. | |||
Some of the boards do properly enter "Boot Mode" which is done by connecting <code>GPIO0</code> to ground. This can easily be done by using a jumper wire from a through hole header that exposes both <code>GPIO0</code> and ground and pressing a reset button immediately below it. Alternatively this can be achieved by using a wire pressed to the bottom right most module pin and the metal RF shield on top of the module while connecting USB to power on. | |||
<pre> | <pre> | ||
| Line 129: | Line 153: | ||
</pre> | </pre> | ||
There's various ways you can now access the device, including over WiFi once configured. I highly recommend <code>rshell</code> which provides ability to copy and move files as well as directly write and debug code using REPL. If you don't pass any arguments it will automatically attempt to connect, if you have multiple devices you can also specify the connection parameters. Here the built in USB/Serial interface connected via <code>D+/D-</code> | There's various ways you can now access the device, including over WiFi once configured. I highly recommend <code>rshell</code> which provides the ability to copy and move files as well as directly write and debug code using REPL. If you don't pass any arguments it will automatically attempt to connect, if you have multiple devices you can also specify the connection parameters. Here the built in USB/Serial interface is connected via <code>D+/D-</code> pins. | ||
<pre> | <pre> | ||