particle
Manage Particle IoT devices and cloud services
TLDR
Log in or create an account for the Particle CLI
Display a list of devices
Create a new Particle project interactively
Compile a Particle project
Update a device to use a specific app remotely
Update a device to use the latest firmware via serial
Execute a function on a device
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)


