1. Board
2. Firmware version
loading releases…

Releases come from youseetoo/uc2-esp32. All CANopen firmware is currently published as pre-release.

3. Install
Board
none selected
Firmware
–
No WebSerial – use Chrome, Edge or Opera.
Serial access not allowed (needs https).
  • The image is written from address 0 and resets saved settings (node ID, role, positions).
  • Close other programs using the port (ImSwitch, serial monitors) first.
  • Flashing fails? See Help, or erase and retry.
manifest
Board
Motors
AxisStepsMoveJogStop / homePosition
Homing parameters
Lasers (/laser_act)
max
LED array (/ledarr_act)
ring r
Single pixels (8×8)
TMC2209 (/tmc_act)
0 = keep current value. Read-back works only for drivers on this board.
Camera
Pick the USB camera and click Start. Camera names appear once the browser may use a camera.
Mosaic
Tiles placed at their stage positions, no image registration. Changing the pixel size or orientation re-places the last scan, so you can tune them until the seams match.
Stage & scan
Stepper ids 1 (X) and 2 (Y). A negative µm/step inverts that axis.
Camera ↔ stage
Pixel size in the sample plane. Swap: stage X moves the image up/down. Flip: tiles go to the other side along that image axis.
Jog
µm
X 0.0 µm · Y 0.0 µm
Grid, centred on the current position
tiles are not saved
Per scan: tiles/*.jpg, tiles.json, scan.json (ImSwitch ShitScope layout), mosaic.png and tiles/TileConfiguration.txt for Fiji › Stitching › Grid/Collection (positions from file).
Connected board
–

Set this board's node ID

For a satellite connected through its own USB. Saved in NVS, active immediately. Masters stay at 1.

node

Role of this board

Saved in NVS, active after the reboot. A standalone v4 becomes a CAN satellite (suggested node 14) that the HAT+ drives.

node
Bus (through a master)
NodeTypeStatusFirmwareImageMAC
Change a satellite's node ID

Only one node may have the old ID while doing this.

from to
Routing (on a master)

Where each device id goes: a local pin, a CAN node (remote, node + sub-axis), or off. A motor route also sets homing and TMC of that axis. Saved routes survive reboots.

TypeIdWhereNodeSub
Set one route
Standalone v4 as satellite

Saves routes for its four axes (A X Y Z) and its lasers 1–3. Motor satellites 10–13 keep stepperid 0–3.

node motors from lasers from
Raw SDO
Objects: CANopen object dictionary. Expedited (≤ 4 bytes) only.
Erase flash
Drivers

ESP32 DevKit boards (standalone, HAT+ USB-C) use a CP2102 or CH340 USB-UART chip: CP210x driver · CH340 driver. XIAO ESP32-S3 boards use native USB and need no driver.

Boot mode
  • ESP32: hold BOOT, tap RESET (EN), release BOOT.
  • XIAO ESP32-S3: hold BOOT while plugging in USB.
Common problems
  • No port in the list: charge-only cable, missing driver, or the port is open in ImSwitch / another tab.
  • Flashing stops halfway: enter boot mode manually, or erase everything and retry.
  • Test tab shows only garbage: wrong baud rate – 921600 for the HAT+ master, 115200 for standalone boards.
  • CAN satellite not found in a scan: check bus power, 120 Ω termination at both bus ends, and that no two boards share a node ID.
  • Unplugged during flashing: reconnect and flash again.
Serial protocol

One compact JSON object per line, e.g. {"task":"/state_get","qid":1}. Replies are framed by ++ / --; everything else is log output. Reference: serial commands · boards & node IDs · update satellites over CAN · standalone v4 as satellite.