LinuxCommandLibrary

particle

Manage Particle IoT devices and cloud services

TLDR

Log in or create an account for the Particle CLI

$ particle setup
copy

Display a list of devices
$ particle list
copy

Create a new Particle project interactively
$ particle project create
copy

Compile a Particle project
$ particle compile [device_type] [path/to/source_code.ino]
copy

Update a device to use a specific app remotely
$ particle flash [device_name] [path/to/program.bin]
copy

Update a device to use the latest firmware via serial
$ particle flash --serial [path/to/firmware.bin]
copy

Execute a function on a device
$ particle call [device_name] [function_name] [function_arguments]
copy

SYNOPSIS

particle [--version] [--help] <command> [<args>]

PARAMETERS

--help
    Display help for particle or a specific subcommand

--version
    Output the Particle CLI version number

DESCRIPTION

The particle command provides a command-line interface to Particle's IoT platform, enabling developers to manage devices, firmware, and cloud resources from Linux terminals.

Core functionalities include authenticating with Particle Cloud, setting up new devices via USB or Wi-Fi, compiling source code for platforms like Photon, Electron, Argon, Boron, and P2, flashing firmware over-the-air (OTA) or locally, managing user libraries, monitoring serial output, and querying device status. It supports workflows from prototyping to production deployment.

Installation requires Node.js and npm: npm install -g @particle/firmware-cli (recommended modern version). Access token-based login is mandatory for most operations. The tool integrates with Git for version control and CI/CD pipelines, making it indispensable for embedded developers in the Particle ecosystem.

Usage spans hobbyists to enterprises building connected products.

CAVEATS

Requires Node.js (≥14) and npm; login needed for cloud features; USB access rules apply for local flashing (e.g., udev rules on Linux); deprecated legacy CLI in favor of @particle/firmware-cli.

KEY SUBCOMMANDS

login: Authenticate account.
setup: Configure new device.
compile: Build firmware locally.
flash: Update device firmware.
library: Manage code libraries.
serial: Monitor device console.

INSTALLATION NOTE

Modern install: npm install -g @particle/firmware-cli. Legacy: sudo npm install -g particle-cli (avoid if possible).

HISTORY

Originally released in 2014 by Particle (formerly Spark Labs) for Spark Core; evolved through hardware generations (Photon 2015, Argon 2018); legacy CLI sunset in 2022, replaced by modular @particle/firmware-cli npm package for better maintainability.

SEE ALSO

dfu-util(1), npm(1)

Copied to clipboard