CDC2NET turns an ESP32-S3 board into a network bridge for the
CUL / TUL / EUL stick line: plug a stick into the board's USB-host port, and
its serial stream becomes a plain TCP socket on your LAN — the
ser2net idea, on-chip. FHEM and friends talk to it the same way
they talk to a local CUL, just over host:port.
USB host
Opens any CDC-ACM stick — legacy CUL (LUFA) and the
USB-Serial-JTAG of modern C3/C6 devices.
WiFi onboarding
Improv-Serial right after flashing, or a captive portal.
Static-IP / DHCP configurable later in the WebUI.
Raw TCP pipe
Transparent byte bridge on
:2329, multiple
clients fan-out. No protocol framing, no RFC2217.WebUI + OTA
http://cdc2net.local/ — status, config,
and over-the-air firmware updates without USB.Install CDC2NET on your ESP32-S3
Plug the ESP32-S3 board into USB, click below, and pick the serial port that appears. The browser detects the chip and writes the matching image.
Fresh install — erases all settings · version …
Browser requirement: Web Serial only works in
Chromium-based desktop browsers — Chrome, Edge, Opera,
Brave on macOS / Windows / Linux. Safari, Firefox and all mobile
browsers are not supported.
Bridge board: the firmware flashes the ESP32-S3
that does the bridging — not the CUL/TUL/EUL stick. You keep flashing
your sticks with their own firmware (culfw / a-culfw); CDC2NET just carries
their serial line over the network. Bring-up target is a 16 MB S3 board
with a USB-host (OTG) port.
After flashing
- Connect & flash — esp-web-tools reads the chip family
from the bootloader and writes the factory image
(
manifest.json) to0x0in one shot. Old contents are erased. - WiFi — the device boots into Improv-Serial mode; esp-web-tools offers the WiFi hand-off right after flashing. (If you miss it, the device opens a captive-portal AP.)
- Find it — it advertises
cdc2net.localon mDNS (plus a uniquecdc2net-XXXX.local). Openhttp://cdc2net.local/for status, config and OTA. - Use it — plug a stick into the host port and point your
software at the raw-TCP port (default
2329). In FHEM:define CUL_0 CUL cdc2net.local:2329 1234
Manual install (if Web Serial doesn't work)
Two artefacts you can download and flash with
esptool.py:
factory_cdc2net_esp32s3.bin— full image, flash to0x0firmware.bin— app only, for the in-device OTA
esptool.py --chip esp32s3 -p /dev/ttyACM0 write_flash 0x0 factory_cdc2net_esp32s3.bin