# Moku CLI

Moku CLI (mokucli) is a powerful command line utility for managing Moku hardware devices. It provides comprehensive tools for firmware updates, instrument bitstream management, feature deployment, and device administration.

# Installation

The latest packages are available to download from Utilities (opens new window). The installation wizard will configure everything needed to launch the CLI successfully.

# Search Path Configuration

# Windows and Mac

When using the installers, mokucli will be automatically discoverable from any client driver package (e.g., MATLAB or Python).

# Linux

For Linux users, you must manually either:

  1. Create a symbolic link to mokucli in the /usr/local/bin directory, or
  2. Set the MOKU_CLI_PATH environment variable to the absolute path of mokucli

# Quick Start

Here are some common mokucli commands to get you started:

# Finding Devices

# List all Moku devices on your network
mokucli list
1
2

# Downloading the instruments for API Use

# Download all bitstreams for version 4.0.1 to local cache
mokucli instrument download 4.0.1
1
2

# Downloading Resources for Offline Use

# Download a specific bitstream
mokucli instrument download 4.0.1:oscilloscope --hw-version mokugo

# Download features for offline installation
mokucli feature download 4.0.1:api-server --hw-version mokupro
1
2
3
4
5

# Uploading Firmware

# Upload firmware version 4.0.1 to a device
mokucli firmware upload 192.168.1.100 4.0.1

# Upload a local firmware file
mokucli firmware upload 192.168.1.100 ./moku-mokupro-611.fw
1
2
3
4
5

# Managing Instruments on Device

# Upload a single instrument oscilloscope to a device
mokucli instrument upload 192.168.1.100 4.0.1:oscilloscope

# Upload multiple bitstreams, this uploads all downloaded single instruments
mokucli instrument upload 192.168.1.100 "4.0.1:01-*"
1
2
3
4
5

For more details on the supported syntax, see the mokucli instrument upload documentation

# Command Overview

MokuCLI is organized into command groups, each serving a specific purpose:

  1. instrument - Manage instrument bitstreams (download to cache, upload to device, list available)
  2. firmware - Manage device firmware updates
  3. feature - Manage software features and plugins (download to cache, upload to device)
  4. convert - Convert Liquid Instruments binary data files
  5. download - Legacy bitstream download (use instrument download)
  6. list - Search for Moku devices on network
  7. files - Manage files on Moku devices
  8. license - Manage device licenses
  9. proxy - Create network proxy to device
  10. stream - Stream binary data from device

For advanced configuration options, see the Advanced Usage guide.

# Download and Install Workflow

MokuCLI follows a two-step workflow for managing resources (firmware, instruments, features such as rest-api):

  1. Download - Resources are first downloaded to your local cache
  2. Install/Upload - Resources are then installed from the local cache to Moku devices

This approach enables:

  • Offline installations - Install resources without internet connectivity
  • Bulk deployments - Deploy the same resources to multiple devices efficiently
  • API integration - The Moku API can install instruments on-demand from the local cache
  • Faster reinstalls - Resources are cached locally for quick access

# Getting Help

To see available commands and options:

mokucli --help
mokucli COMMAND --help
1
2

For detailed information about each command, see the individual command pages linked above.