HADTUSCAN (shown as HAIScan inside the app) is a portable, no-install configuration tool for DTUs and network modules on a local network. It discovers devices over UDP broadcast and pushes IP address, subnet mask, gateway, DNS and hostname in one go, and it also offers mDNS scanning for Home Assistant / ESPHome to quickly locate devices on the discovery path. The whole tool is a single .exe — double-click and it runs, which makes it a good fit for setting up network parameters on devices in bulk at a factory or on site.

What this guide covers

  1. Overview and system requirements
  2. Quick start: configure a device in four steps
  3. Interface layout, device discovery, UDP scan and HA mDNS scan
  4. Pushing network parameters and the PIN authentication rule
  5. Themes, language, safety notes and protocol integration
01

Overview

HADTUSCAN addresses the stretch where a device is not on the network yet but you need to get it online. It does not rely on the device already being reachable in a browser: as long as the PC and the device sit on the same Layer 2 network, it can flush the device out over UDP broadcast and rewrite its network parameters.

1.1 When to use it

  1. Configuring static IPs or DHCP for a large number of DTUs quickly, in a factory or on site.
  2. Initialising and double-checking network parameters before devices are connected to a host system.
  3. In Home Assistant / ESPHome setups, finding devices quickly over mDNS and opening their web configuration.

1.2 System requirements

Operating system
Windows 10 / Windows 11 (recommended)
Network
PC and device on the same Layer 2 network / same subnet; UDP broadcast permitted; local firewall must allow UDP 35600
Device
Must support the HADTUSCAN UDP protocol (discovery / configuration). If a device only supports mDNS it can be browsed but not configured
02

Quick start

Going from nothing to a configured device takes four steps:

  1. Double-click HADTUSCAN.exe (no installation needed).
  2. Pick the correct network adapter at the top — preferably the wired adapter on the same subnet as the device.
  3. Click Scan devices (UDP) to find configurable devices, or click HA mDNS scan to find mDNS-only devices.
  4. Select a device in the list, fill in the target network parameters and the PIN, then click Push configuration.
!

Step 2, choosing the adapter, is where things most often go wrong. On a multi-adapter machine (one running VMware, Hyper-V or WSL) the default may be a virtual adapter, in which case the scan will always come back empty — first check that the selected adapter’s IP is on the same subnet as the device.

03

Interface layout

The main window is divided into four areas from top to bottom. Knowing what each one does keeps you from clicking the wrong thing:

Top bar
Adapter selection, refresh, UDP scan, mDNS scan, language switch, theme switch.
Device list
Shows the devices found (IP / MAC / model / firmware / hostname / mDNS name). Double-clicking an entry opens a browser at the device IP.
Configuration panel
Target IP, IP mode (static / DHCP), network parameters, PIN (6 digits) with show / hide, and the push button.
Log area
Live output from the scan and push process, useful for troubleshooting.
04

Device discovery (UDP scan)

A UDP scan sends DISCOVER_REQ to the broadcast address of the selected adapter and to 255.255.255.255; devices reply with a unicast DISCOVER_RSP. In other words, whether a scan succeeds depends on two things: the broadcast getting out, and the reply getting back.

Default UDP port
35600
Recommended timeout / retries
500ms to 1500ms, 2 to 3 retries (the app defaults to 1.2s / 2 retries)

4.1 Troubleshooting

No devices found
Check that the correct adapter is selected, that the device and PC are on the same subnet, and that the switch is not blocking broadcast traffic.
Windows firewall
Allow network access for HADTUSCAN.exe, or open UDP 35600 for inbound and outbound traffic.
Multiple adapters
Disable virtual adapters (VMware / Hyper-V) before scanning, or explicitly select the right one.
05

HA mDNS scan

mDNS scanning finds devices that advertise Home Assistant / ESPHome services on the local network. Note that mDNS usually only exposes the IP address, hostname and service name plus a few TXT fields — it does not carry the full network parameters such as gateway, mask and DNS. So it can find a device, but it cannot reconfigure one.

mDNS-only devices
An entry with device_id 0 in the list was found through mDNS only; pushing a configuration is not supported for it (the button is greyed out).
Double-clicking an entry
Opens a browser at http://device-IP/ for web configuration or status monitoring.
06

Pushing network parameters (SET_NET)

Pushing is the real “write” operation in this tool. Get it wrong and the device drops off the network, so there are three hard rules:

  1. Every push must carry a 6-digit PIN (the default is 123456).
  2. With static IP mode you must fill in IP / mask / gateway / DNS; with DHCP you may leave them blank (the app fills in 0.0.0.0).
  3. Apply mode: switch immediately or write and reboot (depending on the device firmware).

6.1 PIN rules

Format
The PIN is 6 digits sent as ASCII (for example 123456 is the 6 bytes 0x31 0x32 0x33 0x34 0x35 0x36).
⚠️ Implementation note
The PIN is not a NUL-terminated C string. Device firmware must compare exactly 6 bytes.

6.2 Success and failure feedback

Push succeeded
A dialog confirms success and the device response is written to the log.
Push failed
A dialog reports the reason (authentication failure, invalid parameters, unsupported device, and so on).
07

Theme and language

Theme
Light and dark themes are supported (the dark theme uses a palette close to Trae).
Language
Chinese and English are supported (the switch sits on the right side of the top bar).
08

Safety and precautions

!

Confirm these before pushing

Pushing network parameters can change a device’s IP or take it offline briefly, so do it during a maintenance window.

Validate the procedure on a small number of devices before configuring in bulk.

If the devices are on a production network, confirm the broadcast policy and IP plan with your network administrator first.

09

Protocol and hardware integration (summary)

If you are implementing this protocol on the hardware side yourself, note two things:

Protocol document
docs/udp-protocol.md (covers CRC32 parameters, strict length validation and test vectors).
Packing requirements
The firmware must pack strictly according to payload_len and the CRC32 / byte order requirements, otherwise the PC side will reject the packet as invalid.
10

About: version info and OTA updates

To see which version you are running, or to upgrade straight to the latest build, click About at the far right of the top bar. The “About HAIscan” dialog opens.

The HADTUSCAN About HAIscan dialog with the About button and the Check for updates button highlighted
Click About in the top right. The dialog shows the version, licence status and machine fingerprint; click Check for updates to upgrade to the latest build directly from within the app

The dialog lists the following fields:

Version
The current application version (for example v1.0.0).
Product code
The product identifier for this application (HAISCAN).
Licence status
The current licence state (for example “Licensed”).
Machine fingerprint
A fingerprint derived from the disk serial number, computer name, operating system and IP address, used to bind the licence.
Last validation
The timestamp of the most recent licence validation.

There are two buttons at the bottom of the dialog:

Check for updates
The OTA online upgrade entry point. It contacts the server and compares versions; when a new build is available it prompts you and downloads the update directly — no need to download a fresh installer from the website by hand.
Close
Closes the dialog.
!

The machine fingerprint is built from disk=disk serial | pc=computer name | os=operating system | ip=local IP. Replacing the hard drive, renaming the computer or moving to another subnet all change it — if the licence stops working, check here first.

11

Release notes

V1.0
Initial release: UDP scan / push, mDNS scan, theme / language switching, double-click to open the web page, PIN6 authentication.

Next steps

Once the network parameters are set, the device is ready to be brought into Home Assistant. If it is not connected yet, start with Connecting the Lite Xiaozhi AI Voice Speaker; to switch the voice assistant over to an external model, see How to Use an External Model with the HA Voice Assistant; and there is a more fully featured LTCN AI Desktop Assistant for the desktop that works well alongside it.

相关新闻

cloud@haiots.com

QQ
微信