Arm Checkout Procedure¶
The arm checkout procedure is a series of steps that are performed at the end of the arm assembly process, but before the propeller is attached.

Equipment Needed¶
To perform the arm checkout procedure, you will need the following equipment:
- The assembled arm to test, obviously.
- The arm checkout box.
- Two CAN interfaces (e.g. USBtingo devices or similar).
- A 48V power supply connected to the arm checkout box.
- A computer with the highdra CLI installed.
Procedure¶
The arm checkout command will guide you through the process interactively, so no need to memorize every step
described here.
Setup¶
- Configure the power supply for 48 V and 2 A. Connect it to the arm checkout box with two banana plug cables.
- Connect both CAN interfaces to the arm checkout box and the computer. Pay attention which interface is connected where, as you will need to identify and assign the interfaces later.
- Connect the assembled arm to the arm checkout box.
- Power on the power supply.

Automated Checkout¶
Start the procedure by running highdra arm checkout.
First, you will have to answer two questions: which CAN interface is connected to which bus?
PS C:\Users\lasse> highdra arm checkout
? Which CAN interface is connected to the Myxa? usbtingo:1731ADCE
? Which CAN interface is connected to the MMB? (CAN FD)
» usbtingo:1731625A
From there on, the procedure will run automatically.
- You will need to confirm the propeller is removed, else the procedure will be aborted.
- The motor identification process is started in the background.
- The MMB firmware is checked. If it does not match the expected version, it will be updated.
- The MMB's configuration is updated if necessary.
- The MMB is configured for arm position 1. You will need to enter the colors it displays.
- The MMB is configured for arm position 3, and you will be asked the color question again.
- The MMB will turn on at full brightness for 30 seconds. The temperature rise is measured and compared to an expected value.
- The application now waits for the motor identification process to complete.
- With the motor identification complete, the motor will first spin in one direction, then in the other. You will need to confirm its spinning direction.
- When the directions are correct, the motor will spin at 300 rad/s. You will have to listen and check if it runs smoothly.
- With the motor parameters validated, the motor identification result is automatically stored on the MMB.
Sample Output
PS C:\Users\lasse> highdra arm checkout
? Which CAN interface is connected to the Myxa? usbtingo:1731ADCE
? Which CAN interface is connected to the MMB? usbtingo:1731625A
╭─────────────────────────────── Attention! ───────────────────────────────╮
│ │
│ During motor identification, the motor will start spinning. │
│ For safety reasons, please make sure the propeller is removed before │
│ continuing. │
│ │
╰──────────────────────────────────────────────────────────────────────────╯
? Is the propeller removed, is it safe to spin the motor? Yes
▸ Running MotorIdentification.
▸ Running SoftwareUpdate.
▸ Firmware is up to date (v2.1.0).
✓ SoftwareUpdate succeeded in 0:00:00.034903.
▸ Running ConfigurationUpdate.
✓ ConfigurationUpdate succeeded in 0:00:00.003866.
▸ Running MMB Color Check.
▸ MMB configured for arm position 1.
? What colors does the MMB display? White and Green
▸ MMB configured for arm position 3.
? What colors does the MMB display? Red and Green
✓ MMB Color Check succeeded in 0:00:22.834194.
▸ Running MMB Brightness Check (5 K in 30 s).
▸ Initial temperature: 35.1 °C
✓ MMB Brightness Check (5 K in 30 s) succeeded in 0:00:30.413020.
✓ MotorIdentification succeeded in 0:02:44.670186.
▸ Running SpinMotor.
? Does the motor spin clockwise? Yes
? Does the motor spin counter-clockwise? Yes
! About to spin the motor at 300 rad/s.
? Is the motor spinning smoothly? Yes
✓ SpinMotor succeeded in 0:00:20.698583.
▸ Running Store Motor Parameters on MMB.
▸ Writing motor.flux_linkage = 0.001931394450366497 to the MMB.
▸ Writing motor.inductance_dq = [2.105018575093709e-05, 2.105018575093709e-05] to the MMB.
▸ Writing motor.resistance = 0.06079312413930893 to the MMB.
✓ Store Motor Parameters on MMB succeeded in 0:00:00.110986.
Troubleshooting¶
Should the procedure fail, you can try to run it again:
- If it works on the second attempt, everything is fine, and you don't need to do anything.
- If it fails again, please report the issue.
The procedure will always create a log file in the directory where it was run from. Please attach it to the issue report.