Skip to main content

Flashing a board

A board is flashed over USB once. After that, updates go over the network (see firmware updates).

Build and flash​

. ~/esp/esp-idf/export.sh # ESP-IDF v6.0.2
idf.py menuconfig # optional: EtherJax menu, first-boot defaults
idf.py -p /dev/ttyACM0 flash monitor

On the M5Stack Unit PoE-P4, flash through the Type-C port that isn't labelled Host. To enter download mode, hold the side button for 3 s until the LED turns green.

On the Waveshare ESP32-P4-ETH, flash through the Type-C port.

First-boot defaults​

Settings under the EtherJax menu in menuconfig are only used on a board's first boot. After that the board keeps its settings in flash and you change them on its web page. The defaults are:

SettingDefault
RoleEncoder
Stream nameetherjax
Multicast group239.200. and the last two MAC bytes, for example 239.200.171.18
RTP port5004
Channels2
Link offset4 ms (20 ms for senders other than EtherJax encoders)
PTP priority128
Announce with SAPon
Admin passwordnone
Static IPoff (DHCP)

Setting an admin password in menuconfig before flashing means the board is never open on the network. With no DHCP server on the network, set a static IP here too.

Find the board​

Each board names itself etherjax-XXXX, from the last four hex digits of its MAC address, and announces that name over mDNS. Open http://etherjax-XXXX.local/ in a browser. The name is also printed in the serial log and appears in your DHCP server's leases.

Next: first setup.