Skip to content

🖥️ KER Manager Application Tutorial

KER Manager connects to the KER M5 controller and provides Wi-Fi configuration, 16-channel angle monitoring, zero calibration, serial debugging, and firmware flashing. Windows and Ubuntu packages are provided; the target computer does not need Python, PlatformIO, or Arduino IDE.

📦 Download and installation

KER Manager is distributed as installable packages; its application source is not published. Download the local 1.0.0 packages below or visit GitHub for the latest release.

Operating system Version 1.0.0 package
Ubuntu (amd64) ker-manager_1.0.0_amd64.deb
Windows KER_Manager_Setup_1.0.0.exe

On Ubuntu, run the following in the directory containing the package:

sudo apt install ./ker-manager_1.0.0_amd64.deb

On Windows, double-click KER_Manager_Setup_1.0.0.exe and follow the installer.

The KER controller and encoder firmware have public source code. “Source flashing” below means compiling and flashing that firmware.

🔌 Connect the device

  1. Connect the KER M5 to the computer with a USB cable.
  2. Start KER Manager and select the port marked M5 Normal Mode.
  3. Click Connect. The application opens USB CDC at 115200 baud and requests firmware, Wi-Fi, and TCP status.
  4. If no port appears, add the Linux user to dialout, reconnect the device, and check /dev/ttyACM*, /dev/ttyUSB*, and /dev/serial/by-id/.

After connection, the status card shows firmware version, Wi-Fi state, IP address, RSSI, and the data channel.

📶 Wi-Fi configuration and data transport

In the WiFi page:

  1. Scan nearby networks, select an SSID, and enter its password.
  2. Save the configuration and wait for the device to connect; on failure, firmware falls back to USB.
  3. Record the IPv4 address shown on the status card.
  4. Switch the data transport to Wi-Fi; use this address as wifi_host in the ROS 2 tutorial.

KER teleoperation uses UDP port 19090. The computer and KER must be on the same network. If mDNS is unavailable, use the IPv4 address instead of openarm-ker.local.

🎯 Joint angles and zero calibration

The Calibration page displays the right-arm CH1–CH8 and left-arm CH9–CH16 angles in real time.

Before calibration:

  1. Stop real-robot teleoperation and place the KER in the specified neutral pose.
  2. Confirm that all 16 channels are error-free and updating steadily.
  3. Select all channels or individual channels and set the zero position.
  4. Move each joint and confirm that returning to neutral produces an angle close to zero.

Never calibrate while the robot is moving or force a zero value onto a channel with communication errors.

🧪 Serial debugging

The Serial Debug page shows M5 USB CDC logs, clears logs, requests one sensor snapshot, and can request an M5 restart. When data, Wi-Fi, or sensor errors occur, save the log first, then check the connection state and error channels.

💾 Firmware flashing

🔩 Encoder flashing

The Encoder page supports source flashing or direct HEX flashing. The UPDI port writes firmware; the RS485 port scans IDs and reads angles. They are different interfaces. Factory channels correspond to IDs 1–16.

For direct HEX flashing:

  1. Select the target Encoder ID and its firmware_IDxx.hex file.
  2. Select “Write standard Fuse” only for a new chip or an abnormal Fuse/clock configuration.
  3. Start flashing; the application erases, writes, and verifies. A locked chip is erased and unlocked first.
  4. Open Encoder Test and scan IDs 1–16 to confirm continuous angle changes.

🧠 M5 flashing

The M5 page supports source flashing or direct flashing of a merged BIN. Direct flashing requires an image containing the bootloader, partition table, and application (for example, firmware_ker.bin); a regular firmware.bin cannot be flashed from 0x0.

After flashing, reconnect the device and verify firmware version, USB data, and Wi-Fi status. The firmware update page checks official Releases from GitHub or Gitee and validates SHA256 and image structure before replacing the local package.

❓ FAQ

Symptom Action
No serial port Replace the USB cable/port; on Linux check dialout permissions and whether brltty has claimed a CH340
Angles do not update Check the selected port, M5 firmware, and Encoder test port
Wi-Fi connection fails Check SSID/password, network segment, and device IP; recover configuration over USB
Flashing is rejected Make sure a normal application BIN was not selected; M5 requires a merged image
Incorrect zero position Stop teleoperation, calibrate again in the neutral pose, and check error channels