Problems programming ESPHome Bluetooth Proxy on WT32-ETH01

I have been trying to program a Wireless Tag WT32-ETH01 with ESPHome to create a Bluetooth proxy.
I used this thread as my reference for programming the chip. And the ESPHome configuration from here.

I confirmed the configuration for the ethernet configuration for the WT32-ETH01 here.

I have tried programming the device “plug into this computer” and directly plugged into the “Blue”.

It appears to compile and program correctly.
I power down the board.
I remove the programing jumper on GPIO01
I connect and eithernet cable.
I power up the chip via the USB to TTL programmer.
I don’t see the device on the network

If I try to look at the logs via either connection, I get something like shown below.
It scrolls similar for a few seconds then locks up. I have to restart the ESPHome add-on.

[17:12:46]rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
[17:12:46]configsip: 0, SPIWP:0xee
[17:12:46]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
[17:12:46]mode:QIO, clock div:1
[17:12:46]load:0x3fff0030,len:6608
[17:12:46]load:0xb0f45050,len:1481642069
[17:12:46]1162 mmu set 00010000, pos 00010000
[17:12:46]1162 mmu set 00020000, pos 00020000
[17:12:46]1162 mmu set 00030000, pos 00030000
[17:12:46]1162 mmu set 00040000, pos 00040000
[17:12:46]1162 mmu set 00050000, pos 00050000
[17:12:46]1162 mmu set 00060000, pos 00060000
[17:12:46]1162 mmu set 00070000, pos 00070000
[17:12:46]1162 mmu set 00080000, pos 00080000
[17:12:46]1162 mmu set 00090000, pos 00090000
[17:12:46]1162 mmu set 000a0000, pos 000a0000
[17:12:46]1162 mmu set 000b0000, pos 000b0000
[17:12:46]1162 mmu set 000c0000, pos 000c0000
[17:12:46]1162 mmu set 000d0000, pos 000d0000
[17:12:46]1162 mmu set 000e0000, pos 000e0000
[17:12:46]1162 mmu set 000f0000, pos 000f0000
[17:12:46]1162 mmu set 00100000, pos 00100000
[17:12:46]1162 mmu set 00110000, pos 00110000
[17:12:46]1162 mmu set 00120000, pos 00120000
[17:12:46]1162 mmu set 00130000, pos 00130000
[17:12:46]1162 mmu set 00140000, pos 00140000
[17:12:46]1162 mmu set 00150000, pos 00150000
[17:12:46]1162 mmu set 00160000, pos 00160000
[17:12:46]ets Jun  8 2016 00:22:57
[17:12:46]
[17:12:46]rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)

What I’ve tried:
#1, I purchased a new FTDI adapter and a new WT32-ETH01 and had the same results as the first try.

#2 I commented out the esp32_ble_tracker: section of the config.
Once again, it appeared to program properly.
When the logs are displayed, it repeats this over and over.

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:QIO, clock div:1
load:0x3fff0030,len:6652
ho 0 tail 12 room 4
load:0x0242f03d,len:34879234
ets Jun  8 2016 00:22:57

Again, it I let this run it locks up the ESPHome page.

#3 I commented out the button: section
It appeared to program properly.
The logs repeated the same as the initial output as above continuously

#4 I commented out both the dashboard_import: and bluetooth_proxy: sections. It should do nothing now.
It appeared to program normally.
The logs repeated the same as the initial output as above continuously

#5 try pulling IO2 low to program. See here:
Same resutls as the first try

#6 try adding to ethernet configuration

  # Optional manual IP
  manual_ip:
    static_ip: 192.168.1.59
    gateway: 192.168.1.1
    subnet: 255.255.255.0

Same results as the first try

My config file:

# Https://Github.Com/Esphome/Firmware/Blob/Main/Bluetooth-Proxy/Wt32-Eth01.Yaml

substitutions:
  name: bluetooth-proxy
  friendly_name: Bluetooth Proxy

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  name_add_mac_suffix: true
  project:
    name: esphome.bluetooth-proxy
    version: "1.0"

esp32:
  board: wt32-eth01
  framework:
    type: esp-idf

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

dashboard_import:
  package_import_url: github://esphome/firmware/bluetooth-proxy/wt32-eth01.yaml@main

esp32_ble_tracker:
  scan_parameters:
    interval: 1100ms
    window: 1100ms
    active: true

bluetooth_proxy:
  active: true

button:
  - platform: safe_mode
    name: Safe Mode Boot
    entity_category: diagnostic

Perhaps the one thing you haven’t shown is is the log of compiling and flashing.

This isn’t the most recent build attempt; I can’t remember how I got to view the build beyond the spinning blue circle…

INFO ESPHome 2023.12.5
INFO Reading configuration /config/esphome/bluetooth-proxy.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing bluetooth-proxy (board: wt32-eth01; framework: espidf; platform: platformio/[email protected])
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40405.230623 (4.4.5) 
 - tool-cmake @ 3.16.9 
 - tool-ninja @ 1.10.2 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Creating a new virtual environment for IDF Python dependencies
Installing ESP-IDF's Python dependencies
Collecting urllib3<2
  Downloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 2.8 MB/s eta 0:00:00
Collecting cryptography<35.0.0,>=2.1.4
  Downloading cryptography-3.4.8-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 31.4 MB/s eta 0:00:00
Collecting future>=0.18.3
  Downloading future-0.18.3.tar.gz (840 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 840.9/840.9 kB 23.2 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pyparsing<2.4.0,>=2.0.3
  Downloading pyparsing-2.3.1-py2.py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 kB 93.9 MB/s eta 0:00:00
Collecting kconfiglib~=13.7.1
  Downloading kconfiglib-13.7.1-py2.py3-none-any.whl (145 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 145.7/145.7 kB 95.0 MB/s eta 0:00:00
Collecting idf-component-manager~=1.0
  Downloading idf_component_manager-1.4.1-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.7/140.7 kB 102.9 MB/s eta 0:00:00
Collecting cffi>=1.12
  Downloading cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (466 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 466.6/466.6 kB 72.7 MB/s eta 0:00:00
Collecting packaging
  Downloading packaging-23.2-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 40.3 MB/s eta 0:00:00
Collecting requests<3
  Downloading requests-2.31.0-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 94.5 MB/s eta 0:00:00
Collecting requests-file
  Downloading requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB)
Collecting requests-toolbelt
  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 kB 87.5 MB/s eta 0:00:00
Collecting schema
  Downloading schema-0.7.5-py2.py3-none-any.whl (17 kB)
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting tqdm<5
  Downloading tqdm-4.66.1-py3-none-any.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.3/78.3 kB 63.0 MB/s eta 0:00:00
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting pyyaml>5.2
  Downloading PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (732 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 732.2/732.2 kB 59.5 MB/s eta 0:00:00
Collecting cachecontrol[filecache]>0.12.6
  Downloading cachecontrol-0.13.1-py3-none-any.whl (22 kB)
Collecting contextlib2>0.6.0
  Downloading contextlib2-21.6.0-py2.py3-none-any.whl (13 kB)
Collecting click
  Downloading click-8.1.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 103.9 MB/s eta 0:00:00
Collecting msgpack>=0.5.2
  Downloading msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (549 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 549.5/549.5 kB 59.7 MB/s eta 0:00:00
Collecting filelock>=3.8.0
  Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Collecting pycparser
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 97.7 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (136 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 136.6/136.6 kB 99.0 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading idna-3.6-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.6/61.6 kB 45.0 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading certifi-2023.11.17-py3-none-any.whl (162 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 162.5/162.5 kB 112.8 MB/s eta 0:00:00
Installing collected packages: pyparsing, urllib3, tqdm, six, pyyaml, pycparser, packaging, msgpack, kconfiglib, idna, future, filelock, contextlib2, colorama, click, charset-normalizer, certifi, schema, requests, cffi, requests-toolbelt, requests-file, cryptography, cachecontrol, idf-component-manager
  DEPRECATION: future is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for future: started
  Running setup.py install for future: finished with status 'done'
Successfully installed cachecontrol-0.13.1 certifi-2023.11.17 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 colorama-0.4.6 contextlib2-21.6.0 cryptography-3.4.8 filelock-3.13.1 future-0.18.3 idf-component-manager-1.4.1 idna-3.6 kconfiglib-13.7.1 msgpack-1.0.7 packaging-23.2 pycparser-2.21 pyparsing-2.3.1 pyyaml-6.0.1 requests-2.31.0 requests-file-1.5.1 requests-toolbelt-1.0.0 schema-0.7.5 six-1.16.0 tqdm-4.66.1 urllib3-1.26.18
Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.4
RAM:   [==        ]  15.1% (used 49380 bytes from 327680 bytes)
Flash: [======    ]  59.5% (used 1091073 bytes from 1835008 bytes)
========================= [SUCCESS] Took 52.14 seconds =========================
INFO Successfully compiled program.
esptool.py v4.6.2
Serial port /dev/ttyUSB0
Connecting.....
Chip is ESP32-D0WD (revision v1.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 48:e7:29:aa:fd:f0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00010000 to 0x0011bfff...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00009000 to 0x0000afff...
Compressed 1096816 bytes to 690644...
Wrote 1096816 bytes (690644 compressed) at 0x00010000 in 15.7 seconds (effective 557.7 kbit/s)...
Hash of data verified.
Compressed 25568 bytes to 16070...
Wrote 25568 bytes (16070 compressed) at 0x00001000 in 0.7 seconds (effective 297.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 134...
Wrote 3072 bytes (134 compressed) at 0x00008000 in 0.0 seconds (effective 512.3 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 31...
Wrote 8192 bytes (31 compressed) at 0x00009000 in 0.1 seconds (effective 818.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyUSB0 with baud rate 115200

This suggests that it may be bricked, but the error message has many many hits on Google. ESP32 Boot-up issue: rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) - ESP32 Forum

I’ll try a new device tomorrow…
Thanks!

New device. The results look the same.
Repeating loop of this:

rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:QIO, clock div:1
load:0x3fff0030,len:6652
ho 0 tail 12 room 4
load:0xffbad103,len:201749304
1162 mmu set 00010000, pos 00010000
1162 mmu set 00020000, pos 00020000
1162 mmu set 00030000, pos 00030000
1162 mmu set 00040000, pos 00040000
1162 mmu set 00050000, pos 00050000
1162 mmu set 00060000, pos 00060000
1162 mmu set 00070000, pos 00070000
1162 mmu set 00080000, pos 00080000
1162 mmu set 00090000, pos 00090000
1162 mmu set 000a0000, pos 000a0000
1162 mmu set 000b0000, pos 000b0000
1162 mmu set 000c0000, pos 000c0000
1162 mmu set 000d0000, pos 000d0000
1162 mmu set 000e0000, pos 000e0000
1162 mmu set 000f0000, pos 000f0000
1162 mmu set 00100000, pos 00100000
1162 mmu set 00110000, pos 00110000
1162 mmu set 00120000, pos 00120000
ets Jun  8 2016 00:22:57

Google found this Unable to flash ESP32

And plenty of other links. You might have to read them if the above linked thread doesn’t sort it.