🖥️ 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¶
- Connect the KER M5 to the computer with a USB cable.
- Start KER Manager and select the port marked M5 Normal Mode.
- Click Connect. The application opens USB CDC at
115200baud and requests firmware, Wi-Fi, and TCP status. - 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:
- Scan nearby networks, select an SSID, and enter its password.
- Save the configuration and wait for the device to connect; on failure, firmware falls back to USB.
- Record the IPv4 address shown on the status card.
- Switch the data transport to Wi-Fi; use this address as
wifi_hostin 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:
- Stop real-robot teleoperation and place the KER in the specified neutral pose.
- Confirm that all 16 channels are error-free and updating steadily.
- Select all channels or individual channels and set the zero position.
- 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:
- Select the target Encoder ID and its
firmware_IDxx.hexfile. - Select “Write standard Fuse” only for a new chip or an abnormal Fuse/clock configuration.
- Start flashing; the application erases, writes, and verifies. A locked chip is erased and unlocked first.
- 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 |