Skip to content

The BW16 / RTL8720DN is not an ESP32

Short answer: the BW16 is built on a Realtek RTL8720DN, not an Espressif chip. It has its own ROM bootloader and flashing protocol, so esptool cannot flash it, ESP32 GPIO0/BOOT strap sequences don't apply, and ESP32 flash offsets are meaningless here. You flash a BW16 with a Realtek tool (or this site's browser flasher, which speaks the Realtek protocol directly).

Why esptool fails on a BW16

esptool speaks Espressif's ROM serial protocol — the sync frames, the SLIP framing, the register layout — all specific to ESP8266/ESP32 silicon. The RTL8720DN's ROM answers a different protocol (Realtek's AmebaD ROM: a ReadRegs-style command set and an XMODEM-based RAM/flash loader). Point esptool at a BW16 and the two never agree on a single byte, so you get a connect/sync failure that looks like a dead board but isn't. The chip is fine — you're speaking the wrong language.

This also means the fixes for Failed to connect … Timed out waiting for packet header — an esptool/ESP32 error — do not apply to a BW16. That page is about ESP boards.

What is actually different

ESP32 family (Espressif)BW16 / RTL8720DN (Realtek)
Flashing toolesptool / esptool-jsRealtek AmebaD Image Tool (or this site's browser flasher)
Enter download modeHold GPIO0/BOOT low during EN resetHold LOG_TX (PA7) low across EN reset, or BURN + RST on the dev board — BW16 download mode
Radio2.4 GHz on the common chips (original, S2, S3, C3, C6); only the newer C5 is dual-bandDual-band 2.4 + 5 GHz — the whole point of the chip
Upload protocolEspressif ROM (SLIP frames)Realtek AmebaD ROM (ReadRegs + XMODEM flashloader)

The dual-band radio is why anyone picks a BW16 in the first place: the common ESP32 chips (the original ESP32, S2, S3, C3, C6) have no 5 GHz radio, so firmware built for them — Marauder, Bruce, or otherwise — can't see or work on 5 GHz networks. (Espressif's newer ESP32-C5 does have a dual-band radio, and this site flashes C5 boards too — it's a separate chip.) The BW16 puts dual-band on one Realtek module. See which firmware should I flash? and the RTL8720DN glossary entry.

What actually flashes a BW16

  • This site's browser flasher. On any BW16 device page it runs the Realtek AmebaD protocol over Web Serial at 115200 baud — no separate tool, no esptool.
  • Realtek's AmebaD Image Tool, the vendor GUI, if you're building firmware in the Realtek Arduino SDK.

Either way, first get the board into download mode with the BW16-specific sequence, not an ESP32 one: Enter download mode on the BW16. If a flash attempt fails, see Flashloader download fail.

Sources

Checked 2026-07-25.

Released under the MIT License.