On this page

On this page

ETH-52P / ETH-52P7 web local upgrade ESP32 / Zigbee

ETH-52P / ETH-52P7 run two firmware images: the ESP32 host (web UI and Ethernet / Wi-Fi / USB bridge) and the TI CC2652 chip (Zigbee or Thread). When the web UI opens, upgrade on the device under Tools → Firmware.

Get files only from inswift-eth Releases, esp32-ETH-52P, and ti-cc2652. Wiki: ETH Firmware Upgrade Operation Guide.

Before you start

  1. Open http://dongle.local/ or the gateway IP and sign in
  2. Prefer Ethernet; a Wi-Fi drop mid-write can leave a partial image
  3. Do not mix 52P and 52P7 CC2652 images, or coordinator / router / Thread files
  4. Note the host and Zigbee versions on the Status page

Open Tools → Firmware

After login: Tools (Chinese: 工具) → top tab Firmware (固件). Switch language at the bottom left.

Four cards:

Card (EN / ZH)What it does
ESP32 / ESP32 在线升级Install ota.bin from GitHub: Install latest, or Show available...
ESP32 manual flashing / ESP32 本地升级Upload a local fs.bin or ota.bin
Zigbee update / Zigbee 本地升级Upload a local CC2652 .bin / .hex
Zigbee / 更新CC2652固件Pick a CC2652 build from the GitHub manifest

Tools → Firmware: open the page and run a Zigbee local upgrade

ESP32 local upgrade

From Releases, take matching inswift_YYYYMMDD.fs.bin and inswift_YYYYMMDD.ota.bin. Do not upload full.bin in the web local flasher.

fs.bin is the web UI; ota.bin is the ESP32 application. If you install both: fs.bin first, then ota.bin, and wait for each reboot.

  1. Under ESP32 manual flashing, choose Select firmware file..., then fs.bin or ota.bin
  2. Click Install
  3. Confirm I'm sure — all sockets will drop
  4. Wait for Update complete! Rebooting! and for the web UI to return before the next file

ESP32 local: select a file, then Install

Confirm all sockets will disconnect

Write progress

Complete, then reboot

For ota.bin, only the filename changes:

Install after selecting ota.bin

ESP32 online upgrade

When GitHub is reachable, use the ESP32 card for ota.bin only (fs.bin is local upload only).

  1. Tools → Firmware → ESP32
  2. Install latest, or Show available... for a tagged release
  3. Confirm the disconnect and wait for reboot

Install latest or Show available

Pick a GitHub release

Confirm and start

Write progress

Complete, then reboot

Zigbee local upgrade

Stop Z2M / ZHA first. The wrong chip image, or router / Thread firmware, will break coordinator tcp://…:6638.

Get files from ti-cc2652:

  • ETH-52P: a launchpad coordinator image whose name includes CC2652P, for example CC1352P2_CC2652P_launchpad_coordinator_20250321.bin
  • ETH-52P7: CC1352P7_coordinator_….bin
  • Router: the matching *_router_*.bin for that chip
  • Thread: the matching *ot_rcp* / RCP under thread/ (serial is commonly 460800 afterwards)

The filename must include coordinator, router, or thread / rcp so the gateway can set role and baud rate (coordinator / router commonly 115200). Do not use images built for other boards.

  1. On the same Firmware tab open Zigbee update
  2. Select firmware file... and choose the .bin or .hex
  3. Check Current chip model (52P ≠ 52P7)
  4. Click Install, confirm the disconnect, wait for reboot

Zigbee update: install a local Zigbee image

Zigbee online upgrade

When GitHub is reachable, use the lower-right Zigbee card (Chinese: 更新CC2652固件). The list is filtered by chip, but you still pick a coordinator build — not router or Thread.

  1. Click Show available...
  2. Install a coordinator version
  3. Confirm the disconnect and wait until it finishes

After a coordinator flash, Zigbee2MQTT still uses adapter: zstack and tcp://dongle.local:6638; ZHA uses socket://dongle.local:6638. A Thread image is OpenThread, not a Zigbee coordinator. To keep devices without re-pairing, see ETH-52P / ETH-52P7 change IEEE (coordinator migration).

Troubleshooting

The dialog says it will disconnect ALL socket connections. Stop Z2M / ZHA, then confirm.

Progress stalls, or the UI never returns. Wait two minutes, power-cycle. If there is still no UI, use Flash ETH host over USB.

Zigbee2MQTT ping timeout after flashing the chip. Match the chip to the filename; confirm coordinator, not router / RCP; baud rate is still 115200. See FAQ: ping timeout.

The web UI IEEE looks unchanged. The TI primary address does not change. For migration see ETH-52P / ETH-52P7 change IEEE (coordinator migration).

Related: ETH-52P / ETH-52P7 · Zigbee2MQTT setup · ZHA · Flash ETH host over USB · FAQ