Menlo
PreparationSoftware and Motor Setup

Flash the RPU

Write the Asimov RPU image to the Radxa CM5 onboard storage.

The RPU has no microSD card slot. Flash its onboard storage over USB-C while it is in MaskROM mode.

Install the Flashing Tool

On Ubuntu 22.10 or newer and current Debian:

sudo apt install rkdeveloptool
rkdeveloptool -V

If the package is unavailable, build it from source:

sudo apt install -y libudev-dev libusb-1.0-0-dev dh-autoreconf pkg-config build-essential git
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool
autoreconf -i
./configure
make -j"$(nproc)"
sudo cp rkdeveloptool /usr/local/sbin/
rkdeveloptool -V

Use sudo with the flashing commands below.

Install rkdeveloptool with Homebrew:

brew tap IgorKha/rkdeveloptool
brew install rkdeveloptool
rkdeveloptool -V

If the tap is unavailable, build from source:

brew install automake autoconf libusb pkg-config gcc@15
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool
autoreconf -i
CXX=/opt/homebrew/bin/g++-15 ./configure
make
  1. Download DriverAssistant v5.14 from Radxa, extract it, and run DriverInstall.exe as administrator.
  2. Download and extract RKDevTool v2.96.
  3. Install 7-Zip to decompress the .img.xz image.
  4. Follow Radxa's RKDevTool guide after entering MaskROM mode.

Enter MaskROM Mode

The order matters: hold the MaskROM button before the RPU first receives power, and connect power last.

  1. Connect the data-capable USB-C cable between the laptop and the RPU USB-C port.
  2. Hold the RPU MaskROM button.
  3. While holding the button, connect battery power to the RPU.
  4. Release the button.
  5. On macOS or Linux, run:
rkdeveloptool ld

The result must include Mode=Maskrom. On Windows, RKDevTool must show Found One MASKROM Device. If the device is missing, disconnect power, check that the cable carries data, and repeat the sequence.

Write the Image

Rename rk3588_spl_loader_v1.15.113.bin to rk3588_spl_loader.bin, then run:

rkdeveloptool db rk3588_spl_loader.bin
xz -dk asimov-rpu-<version>.img.xz
rkdeveloptool wl 0 asimov-rpu-<version>.img
rkdeveloptool rd

The loader command must report Downloading bootloader succeeded, the write must reach 100%, and reset must report Reset Device OK.

Rename rk3588_spl_loader_v1.15.113.bin to rk3588_spl_loader.bin, then run:

rkdeveloptool db rk3588_spl_loader.bin
xz -dk asimov-rpu-<version>.img.xz
rkdeveloptool wl 0 asimov-rpu-<version>.img
rkdeveloptool rd

The loader command must report Downloading bootloader succeeded, the write must reach 100%, and reset must report Reset Device OK.

Decompress the .img.xz with 7-Zip. In RKDevTool, load rk3588_spl_loader.bin as the loader and the decompressed asimov-rpu-<version>.img as the image, then start the write.

Writing takes several minutes. When it finishes, reset the RPU and remove power.

How is this guide?

On this page