Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

USB Installer

Get the zip

Download develop-tools-mundus.zip from the latest release, or from the artifacts of any CI run on main.

Put it on a drive

The flash drive must be setup in a specific way for the installer to work:

  1. An MBR partition table with one primary FAT32 partition enumerating as /dev/sda1. Any other filesystem or disk layout will fail to copy.
    • macOS
      • You can use Disk Utility to format your disk as "FAT" (aka FAT32) and select Master Boot Record image
    • Windows
      • Use Rufus
      • Select your USB drive under Device.
      • For Boot selection, choose Non bootable.
      • Set Partition scheme to MBR.
      • Set File system to FAT32.
      • Click START.
    • Linux - use whatever your favorite tool is :)
  2. /developer/ must contain exactly one file, the zip. Any extra files/directories cause the copy to fail. macOS may sometimes mut dotfiles in the directory. Before ejecting, run dot_clean -m /Volumes/<YOUR DRIVE NAME> to clean the drive

Your drive contents should look like this before plugging it into

<FAT32 sda1>/
└── developer/
    └── develop-tools-mundus.zip     # exactly one file

Installing mundus

First, turn off the robot via its switch under the magnetic cover.

The SwitchBot S20 has an easily accessible USB-C OTG port on top of it. It can be accessed by prying up the cover around the buttons on top. There are a few clips and it takes some force to remove it. Once removed, you will see a USB-C port exposed on top.

image

Plug in a USB-C hub into the port and plug your flash drive into that. Turn the robot's switch on and wait. You will hear a speaking audio clip (from what I can tell it says "Starting Developer Mode" in Chinese). This audio gets stopped midway for some reason on my robot.

On a computer, go to the robot's control interface at http://<ROBOT-IP>:8080. Keep refreshing until the page loads. Do not turn off the robot until the page loads with the admin password setup page. Turning the robot off during this process may put the OS into a state where Mundus cannot be installed without a full factory reset.

Build zip locally (developer only)

Needs a cross-compiled server binary and a built web UI:

mise run dist       # dist/mundus (linux/arm64) and dist/web
mise run zip        # dist/develop-tools-mundus.zip

Or call the script directly, which is what CI does:

./usb/build-zip.sh --bin dist/mundus --web web/build --out dist/develop-tools-mundus.zip