Commands








































1commands - Arduino CLI :root{--md-text-font-family:"Roboto";--md-code-font-family:"Roboto Mono"} function \_\_prefix(e){return new URL("../..",location).pathname+"."+e}function \_\_get(e,t=localStorage){return JSON.parse(t.getItem(\_\_prefix(e)))}

Skip to content

logo

Arduino CLI

commands

Initializing search

[

arduino/arduino-cli

](https://github.com/arduino/arduino-cli "Go to repository")

logoArduino CLI

[

arduino/arduino-cli

](https://github.com/arduino/arduino-cli "Go to repository")

Table of contents

Protocol Documentation

Top

FieldTypeLabelDescription
namestringName used to identify the board to humans.
fqbnstringFully qualified board name used to identify the board to machines. The FQBN is only available for installed boards.
FieldTypeLabelDescription
startDownloadProgressStartSent when a download is started.
updateDownloadProgressUpdateProgress updates for a download.
endDownloadProgressEndSent when a download is finished or failed.
FieldTypeLabelDescription
successboolTrue if the download is successful.
messagestringInfo or error message, depending on the value of 'success'. Some examples: "File xxx already downloaded" or "Connection timeout".
FieldTypeLabelDescription
urlstringURL of the download.
labelstringThe label to display on the progress bar.
FieldTypeLabelDescription
downloadedint64Size of the downloaded portion of the file.
total_sizeint64Total size of the file being downloaded.
FieldTypeLabelDescription
onlinestringA URL provided by the author of the platform's package, intended to point to their online help service.
FieldTypeLabelDescription
idstringPlatform ID (e.g., arduino:avr).
versionstringVersion of the platform.
install_dirstringInstallation directory of the platform.
package_urlstring3rd party platform URL.
FieldTypeLabelDescription
idint32The ID of the instance.

MissingProgrammerError is a status error detail that is returned when the operation can not be completed due to a missing programmer argument.

FieldTypeLabelDescription
settingsMonitorPortSettingrepeatedThe port configuration parameters.
FieldTypeLabelDescription
setting_idstringThe setting identifier.
valuestringThe setting value.

Platform is a structure containing all the information about a single platform release.

FieldTypeLabelDescription
metadataPlatformMetadataGeneric information about a platform.
releasePlatformReleaseInformation about a specific release of a platform.

PlatformMetadata contains generic information about a platform (not correlated to a specific release).

FieldTypeLabelDescription
idstringPlatform ID (e.g., arduino:avr).
maintainerstringMaintainer of the platform's package.
websitestringA URL provided by the author of the platform's package, intended to point to their website.
emailstringEmail of the maintainer of the platform's package.
manually_installedboolIf true this Platform has been installed manually in the user' sketchbook hardware folder.
deprecatedboolTrue if the latest release of this Platform has been deprecated.
indexedboolIf true the platform is indexed.

PlatformRelease contains information about a specific release of a platform.

FieldTypeLabelDescription
namestringName used to identify the platform to humans (e.g., "Arduino AVR Boards").
versionstringVersion of the platform release.
typesstringrepeatedType of the platform.
installedboolTrue if the platform is installed.
boardsBoardrepeatedList of boards provided by the platform. If the platform is installed, this is the boards listed in the platform's boards.txt. If the platform is not installed, this is an arbitrary list of board names provided by the platform author for display and may not match boards.txt.
helpHelpResourcesA URL provided by the author of the platform's package, intended to point to their online help service.
missing_metadataboolThis field is true if the platform is missing installation metadata (this happens if the platform has been installed with the legacy Arduino IDE <=1.8.x). If the platform miss metadata and it's not indexed through a package index, it may fail to work correctly in some circumstances, and it may need to be reinstalled. This should be evaluated only when the PlatformRelease is Installed otherwise is an undefined behaviour.
deprecatedboolTrue this release is deprecated.
compatibleboolTrue if the platform dependencies are available for the current OS/ARCH. This also means that the platform is installable.

PlatformSummary is a structure containing all the information about a platform and all its available releases.

FieldTypeLabelDescription
metadataPlatformMetadataGeneric information about a platform.
releasesPlatformSummary.ReleasesEntryrepeatedMaps version to the corresponding PlatformRelease.
installed_versionstringThe installed version of the platform, or empty string if none installed.
latest_versionstringThe latest available version of the platform that can be installable, or empty if none available.
FieldTypeLabelDescription
keystring
valuePlatformRelease
FieldTypeLabelDescription
platformstringPlatform name.
idstringProgrammer ID.
namestringProgrammer name.
FieldTypeLabelDescription
main_filestringAbsolute path to a main sketch files.
location_pathstringAbsolute path to folder that contains main_file.
other_sketch_filesstringrepeatedList of absolute paths to other sketch files.
additional_filesstringrepeatedList of absolute paths to additional sketch files.
root_folder_filesstringrepeatedList of absolute paths to supported files in the sketch root folder, main file excluded.
default_fqbnstringDefault FQBN set in project file (sketch.yaml).
default_portstringDefault Port set in project file (sketch.yaml).
default_protocolstringDefault Protocol set in project file (sketch.yaml).
profilesSketchProfilerepeatedList of profiles present in the project file (sketch.yaml).
default_profileSketchProfileDefault profile set in the project file (sketch.yaml).
default_programmerstringDefault Programmer set in project file (sketch.yaml).
default_port_configMonitorPortConfigurationDefault Port configuration set in project file (sketch.yaml).
FieldTypeLabelDescription
namestringName of the profile.
fqbnstringFQBN used by the profile.
programmerstringProgrammer used by the profile.
portstringDefault Port in this profile.
port_configMonitorPortConfigurationDefault Port configuration set in project file (sketch.yaml).
protocolstringDefault Protocol in this profile.
FieldTypeLabelDescription
namestringDescription of the task.
messagestringAdditional information about the task.
completedboolWhether the task is complete.
percentfloatAmount in percent of the task completion (optional).

Top

Port represents a board port that may be used to upload or to monitor a board.

FieldTypeLabelDescription
addressstringAddress of the port (e.g., /dev/ttyACM0).
labelstringThe port label to show on the GUI (e.g. "ttyACM0").
protocolstringProtocol of the port (e.g., serial, network, ...).
protocol_labelstringA human friendly description of the protocol (e.g., "Serial Port (USB)").
propertiesPort.PropertiesEntryrepeatedA set of properties of the port.
hardware_idstringThe hardware ID (serial number) of the board attached to the port.
FieldTypeLabelDescription
keystring
valuestring

Top

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringThe fully qualified board name of the board you want information about (e.g., arduino:avr:uno).
do_not_expand_build_propertiesboolIf set to true the returned build properties will be left unexpanded, with the variables placeholders exactly as defined in the platform.
FieldTypeLabelDescription
fqbnstringThe fully qualified board name of the board.
namestringName used to identify the board to humans (e.g., Arduino Uno).
versionstringInstalled version of the board's platform.
properties_idstringThe board ID component of the FQBN (e.g., uno).
aliasstringBoard alias that can be used as a more user friendly alternative to the FQBN.
officialboolWhether this is an official or 3rd party board.
pinoutstringURL of the board's pinout documentation.
packagePackageData about the package that contains the board's platform.
platformBoardPlatformData about the board's platform.
tools_dependenciesToolsDependenciesrepeatedTool dependencies of the board.
config_optionsConfigOptionrepeatedThe board's custom configuration options.
programmersProgrammerrepeatedList of programmers supported by the board.
identification_propertiesBoardIdentificationPropertiesrepeatedIdentifying information for the board (e.g., USB VID/PID).
build_propertiesstringrepeatedBoard build properties used for compiling.
default_programmer_idstringDefault programmer for the board.
FieldTypeLabelDescription
propertiesBoardIdentificationProperties.PropertiesEntryrepeatedA set of properties that must all be matched to identify the board.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
search_argsstringrepeatedThe search query to filter the board list by.
include_hidden_boardsboolSet to true to get also the boards marked as "hidden" in the platform.
FieldTypeLabelDescription
boardsBoardListItemrepeatedList of installed boards.
FieldTypeLabelDescription
namestringThe name for use when identifying the board to a human.
fqbnstringThe fully qualified board name. Used to identify the board to a machine.
is_hiddenboolIf the board is marked as "hidden" in the platform.
platformPlatformPlatform this board belongs to.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
timeoutint64Search for boards for the given time (in milliseconds).
fqbnstringThe fully qualified board name of the board you want information about (e.g., arduino:avr:uno).
FieldTypeLabelDescription
portsDetectedPortrepeatedList of ports and the boards detected on those ports.
warningsstringrepeatedWarning messages or errors coming from the discoveries.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
FieldTypeLabelDescription
event_typestringEvent type as received from the serial discovery tool.
portDetectedPortInformation about the port.
errorstringEventual errors when detecting connected boards.
FieldTypeLabelDescription
architecturestringArchitecture of the platform (e.g., avr).
categorystringCategory of the platform. Set to Contributed for 3rd party platforms.
urlstringDownload URL of the platform archive file.
archive_filenamestringFile name of the platform archive.
checksumstringChecksum of the platform archive.
sizeint64File size of the platform archive.
namestringName used to identify the platform to humans.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
search_argsstringThe search query to filter the board list by.
include_hidden_boardsboolSet to true to get also the boards marked as "hidden" in installed platforms.
FieldTypeLabelDescription
boardsBoardListItemrepeatedList of installed and installable boards.
FieldTypeLabelDescription
optionstringID of the configuration option. For identifying the option to machines.
option_labelstringName of the configuration option for identifying the option to humans.
valuesConfigValuerepeatedPossible values of the configuration option.
FieldTypeLabelDescription
valuestringThe configuration option value.
value_labelstringLabel to identify the configuration option to humans.
selectedboolWhether the configuration option is selected.
FieldTypeLabelDescription
matching_boardsBoardListItemrepeatedThe possible boards attached to the port.
portPortThe port details.
FieldTypeLabelDescription
onlinestringURL for getting online help.
FieldTypeLabelDescription
maintainerstringMaintainer of the package.
urlstringThe URL of the platforms index file (e.g., https://downloads.arduino.cc/packages/package_index.json).
website_urlstringA URL provided by the package author, intended to point to their website.
emailstringEmail address of the package maintainer.
namestringPackage vendor name.
helpHelpResources for getting help about using the package.
FieldTypeLabelDescription
checksumstringChecksum of the tool archive.
hoststringOperating system identifier.
archive_filenamestringFile name of the tool archive.
urlstringDownload URL of the tool archive.
sizeint64File size of the tool archive.
FieldTypeLabelDescription
packagerstringVendor name of the package containing the tool definition.
namestringTool name.
versionstringTool version.
systemsSystemsrepeatedData for the operating system-specific builds of the tool.

Top

FieldTypeLabelDescription
urlstringDownload URL of the library archive.
archive_filenamestringFilename of the library archive.
checksumstringChecksum of the library archive.
sizeint64File size of the library archive.
cache_pathstringThe directory under the staging subdirectory of the data directory the library archive file will be downloaded to.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
urlstringURL to the repository containing the library.
overwriteboolSet to true to overwrite an already installed library with the same name. Defaults to false.
FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the installation.
resultGitLibraryInstallResponse.ResultInstallation result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
libraryLibraryInformation about the library.
releaseLibraryReleaseWhen the updatable field of the LibraryList request is set to true, this will contain information on the latest version of the library in the libraries index.
FieldTypeLabelDescription
namestringLibrary name (value of name field in library.properties).
authorstringValue of the author field in library.properties.
maintainerstringValue of the maintainer field in library.properties.
sentencestringValue of the sentence field in library.properties.
paragraphstringValue of the paragraph field in library.properties.
websitestringValue of the url field in library.properties.
categorystringValue of the category field in library.properties.
architecturesstringrepeatedValue of the architectures field in library.properties.
typesstringrepeatedThe type categories of the library. Possible values: Arduino, Partner, Recommended, Contributed, Retired.
install_dirstringThe path of the library directory.
source_dirstringThe location of the library's source files.
utility_dirstringThe location of the library's utility directory.
container_platformstringIf location is platform_builtin or referenced_platform_builtin, the identifying string for the platform containing the library (e.g., arduino:avr@1.8.2).
dot_a_linkageboolValue of the dot_a_linkage field in library.properties.
precompiledboolValue of the precompiled field in library.properties.
ld_flagsstringValue of the ldflags field in library.properties.
is_legacyboolA library.properties file is not present in the library's root directory.
versionstringValue of the version field in library.properties.
licensestringValue of the license field in library.properties.
propertiesLibrary.PropertiesEntryrepeatedThe data from the library's library.properties file, including unused fields.
locationLibraryLocationThe location type of the library installation.
layoutLibraryLayoutThe library format type.
examplesstringrepeatedThe example sketches provided by the library.
provides_includesstringrepeatedValue of the includes field in library.properties or, if missing, the list of include files available on the library source root directory.
compatible_withLibrary.CompatibleWithEntryrepeatedMap of FQBNs that specifies if library is compatible with this library.
in_developmentboolThis value is set to true if the library is in development and should not be treated as read-only. This status is determined by the presence of a .development file in the library root directory.
FieldTypeLabelDescription
keystring
valuebool
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
namestringLibrary name of the dependency.
version_constraintstringVersion constraint of the dependency.
FieldTypeLabelDescription
namestringThe name of the library dependency.
version_requiredstringThe required version of the library dependency.
version_installedstringVersion of the library dependency currently installed.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
namestringName of the library.
versionstringThe version of the library to download.
FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
resultLibraryDownloadResponse.ResultDownload result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
namestringName of the library.
versionstringThe version of the library to install.
no_depsboolSet to true to skip installation of specified library's dependencies, defaults to false.
no_overwriteboolSet to true to skip installation if a different version of the library or one of its dependencies is already installed, defaults to false.
install_locationLibraryInstallLocationInstall the library and dependencies in the specified location.
FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
task_progressTaskProgressDescription of the current stage of the installation.
resultLibraryInstallResponse.ResultDownload result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
allboolWhether to include built-in libraries (from platforms and the Arduino IDE) in the listing.
updatableboolWhether to list only libraries for which there is a newer version than the installed version available in the libraries index.
namestringIf set filters out the libraries not matching name.
fqbnstringBy setting this field all duplicate libraries are filtered out leaving only the libraries that will be used to compile for the specified board FQBN.
FieldTypeLabelDescription
installed_librariesInstalledLibraryrepeatedList of installed libraries.
FieldTypeLabelDescription
authorstringValue of the author field in library.properties.
versionstringValue of the version field in library.properties.
maintainerstringValue of the maintainer field in library.properties.
sentencestringValue of the sentence field in library.properties.
paragraphstringValue of the paragraph field in library.properties.
websitestringValue of the url field in library.properties.
categorystringValue of the category field in library.properties.
architecturesstringrepeatedValue of the architectures field in library.properties.
typesstringrepeatedThe type categories of the library, as defined in the libraries index. Possible values: Arduino, Partner, Recommended, Contributed, Retired.
resourcesDownloadResourceInformation about the library archive file.
licensestringValue of the license field in library.properties.
provides_includesstringrepeatedValue of the includes field in library.properties.
dependenciesLibraryDependencyrepeatedThe names of the library's dependencies, as defined by the 'depends' field of library.properties.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
namestringName of the library.
versionstringThe version of the library to check dependencies of. If no version is specified, dependencies of the newest version will be listed.
do_not_update_installed_librariesboolIf true the computed solution will try to keep exising libraries at their current version.
FieldTypeLabelDescription
dependenciesLibraryDependencyStatusrepeatedDependencies of the library.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
omit_releases_detailsboolSet to true to not populate the releases field in the response (may save a lot of bandwidth/CPU).
search_argsstringKeywords for the search.
FieldTypeLabelDescription
librariesSearchedLibraryrepeatedThe results of the search.
statusLibrarySearchStatusWhether the search yielded results.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
namestringName of the library.
versionstringThe version of the library to uninstall.
FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the uninstallation.
resultLibraryUninstallResponse.ResultUninstall result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of files needed for the upgrades.
task_progressTaskProgressDescription of the current stage of the upgrade.
resultLibraryUpgradeAllResponse.ResultUpgrade result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
namestringName of the library.
no_depsboolSet to true to skip installation of specified library's dependencies, defaults to false.
FieldTypeLabelDescription
progressDownloadProgressProgress of the library download.
task_progressTaskProgressDescription of the current stage of the installation.
resultLibraryUpgradeResponse.ResultDownload result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
namestringLibrary name.
releasesSearchedLibrary.ReleasesEntryrepeatedThe index data for the available versions of the library. The key of the map is the library version.
latestLibraryReleaseThe index data for the latest version of the library.
available_versionsstringrepeatedThe available versions of this library.
FieldTypeLabelDescription
keystring
valueLibraryRelease
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
pathstringPath to the archived library.
overwriteboolSet to true to overwrite an already installed library with the same name. Defaults to false.
FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the installation.
resultZipLibraryInstallResponse.ResultInstallation result.

Empty message, reserved for future expansion.

Represent a library installation location.

NameNumberDescription
LIBRARY_INSTALL_LOCATION_USER0In the libraries subdirectory of the user directory (sketchbook). This is the default if not specified.
LIBRARY_INSTALL_LOCATION_BUILTIN1In the configured 'builtin.libraries' directory.

Represent the library layout.

NameNumberDescription
LIBRARY_LAYOUT_FLAT0Library is in the 1.0 Arduino library format.
LIBRARY_LAYOUT_RECURSIVE1Library is in the 1.5 Arduino library format.

Represent the location of the library.

NameNumberDescription
LIBRARY_LOCATION_BUILTIN0In the configured 'builtin.libraries' directory.
LIBRARY_LOCATION_USER1In the libraries subdirectory of the user directory (sketchbook).
LIBRARY_LOCATION_PLATFORM_BUILTIN2In the libraries subdirectory of a platform.
LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN3When LibraryLocation is used in a context where a board is specified, this indicates the library is in the libraries subdirectory of a platform referenced by the board's platform.
LIBRARY_LOCATION_UNMANAGED4Outside the libraries folders managed by the CLI.

Represent the result of the library search.

NameNumberDescription
LIBRARY_SEARCH_STATUS_FAILED0No search results were found.
LIBRARY_SEARCH_STATUS_SUCCESS1Search results were found.

Top

FieldTypeLabelDescription
build_pathstringThe compiler build path.
used_librariesLibraryrepeatedThe libraries used in the build.
executable_sections_sizeExecutableSectionSizerepeatedThe size of the executable split by sections.
board_platformInstalledPlatformReferenceThe platform where the board is defined.
build_platformInstalledPlatformReferenceThe platform used for the build (if referenced from the board platform).
build_propertiesstringrepeatedBuild properties used for compiling.
diagnosticsCompileDiagnosticrepeatedCompiler errors and warnings.
FieldTypeLabelDescription
severitystringSeverity of the diagnostic.
messagestringThe explanation of the diagnostic (it may be multiple preformatted lines).
filestringThe file containing the diagnostic.
lineint64The line of the diagnostic if available (starts from 1).
columnint64The column of the diagnostic if available (starts from 1).
contextCompileDiagnosticContextrepeatedThe context where this diagnostic is found (it may be multiple files that represents a chain of includes, or a text describing where the diagnostic is found).
notesCompileDiagnosticNoterepeatedAnnotations or suggestions to the diagnostic made by the compiler.
FieldTypeLabelDescription
messagestringThe message describing the context reference.
filestringThe file of the context reference.
lineint64The line of the context reference.
columnint64The column of the context reference.
FieldTypeLabelDescription
messagestringThe message describing the compiler note.
filestringThe file of the compiler note.
lineint64The line of the compiler note.
columnint64The column of the compiler note.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully Qualified Board Name, e.g.: arduino:avr:uno. If this field is not defined, the FQBN of the board attached to the sketch via the BoardAttach method is used.
sketch_pathstringThe path where the sketch is stored.
show_propertiesboolJust get the build properties and do not run the full compile.
preprocessboolPrint preprocessed code to stdout instead of compiling.
build_cache_pathstringDeprecated. Builds of core and sketches are saved into this path to be cached and reused.
build_pathstringPath to use to store the files used for the compilation. If omitted, a directory will be created in the operating system's default temporary path.
build_propertiesstringrepeatedList of custom build properties.
warningsstringUsed to tell gcc which warning level to use. The level names are: "none", "default", "more" and "all".
verboseboolTurns on verbose mode.
quietboolSuppresses almost every output.
jobsint32The max number of concurrent compiler instances to run (as make -jx). If jobs is set to 0, it will use the number of available CPUs as the maximum.
librariesstringrepeatedA list of paths to directories containing a collection of libraries.
optimize_for_debugboolOptimize compile output for debug, not for release.
export_dirstringOptional: save the build artifacts in this directory, the directory must exist.
cleanboolOptional: cleanup the build folder and do not use any previously cached build.
create_compilation_database_onlyboolWhen set to true only the compilation database will be produced and no actual build will be performed.
source_overrideCompileRequest.SourceOverrideEntryrepeatedThis map (source file -> new content) let the builder use the provided content instead of reading the corresponding file on disk. This is useful for IDE that have unsaved changes in memory. The path must be relative to the sketch directory. Only files from the sketch are allowed.
export_binariesbooloptionalWhen set to true the compiled binary will be copied to the export directory.
librarystringrepeatedA list of paths to single libraries root directory.
keys_keychainstringThe path where to search for the custom signing key name and the encrypt key name.
sign_keystringThe name of the custom key to use for signing during the compile process.
encrypt_keystringThe name of the custom key to use for encrypting during the compile process.
skip_libraries_discoveryboolIf set to true the build will skip the library discovery process and will use the same libraries of latest build. Enabling this flag may produce a wrong output and should not be used in regular compiles unless there is a very specific reason to do so. This flag is mainly provided for usage in language servers to optimize the build speed in some particular cases.
do_not_expand_build_propertiesboolIf set to true the returned build properties will be left unexpanded, with the variables placeholders exactly as defined in the platform.
build_cache_extra_pathsstringrepeatedSearch for precompiled cores in the given paths and use them if found. This search is performed after the standard build_cache directory.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
out_streambytesThe output of the compilation process (stream).
err_streambytesThe error output of the compilation process (stream).
progressTaskProgressCompletions reports of the compilation process (stream).
resultBuilderResultThe compilation result.
FieldTypeLabelDescription
namestringThe name of the section.
sizeint64The used size of the section in bytes.
max_sizeint64The maximum size of the section in bytes.

Top

AlreadyAtLatestVersionError is returned when an upgrade is not possible because already at latest version.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
platform_packagestringVendor name of the platform (e.g., arduino).
architecturestringArchitecture name of the platform (e.g., avr).
versionstringPlatform version to download.
FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of platform and tool files.
resultPlatformDownloadResponse.ResultThe download result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
platform_packagestringVendor name of the platform (e.g., arduino).
architecturestringArchitecture name of the platform (e.g., avr).
versionstringPlatform version to install.
skip_post_installboolSet to true to not run (eventual) post install scripts for trusted platforms.
no_overwriteboolSet to true to skip installation if a different version of the platform is already installed.
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms when performing platform upgrades.
FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of the platform and tool files.
task_progressTaskProgressDescription of the current stage of the installation.
resultPlatformInstallResponse.ResultThe installation result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
search_argsstringKeywords for the search.
manually_installedboolWhether to show manually installed platforms. false causes to skip manually installed platforms.
FieldTypeLabelDescription
search_outputPlatformSummaryrepeatedResults of the search.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
platform_packagestringVendor name of the platform (e.g., arduino).
architecturestringArchitecture name of the platform (e.g., avr).
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms.
FieldTypeLabelDescription
task_progressTaskProgressDescription of the current stage of the uninstall.
resultPlatformUninstallResponse.ResultThe uninstall result.

Empty message, reserved for future expansion.

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
platform_packagestringVendor name of the platform (e.g., arduino).
architecturestringArchitecture name of the platform (e.g., avr).
skip_post_installboolSet to true to not run (eventual) post install scripts for trusted platforms.
skip_pre_uninstallboolSet to true to not run (eventual) pre uninstall scripts for trusted platforms when performing platform upgrades.
FieldTypeLabelDescription
progressDownloadProgressProgress of the downloads of the platform and tool files.
task_progressTaskProgressDescription of the current stage of the upgrade.
resultPlatformUpgradeResponse.ResultThe upgrade result.
FieldTypeLabelDescription
platformPlatformThe upgraded platform.

Top

Configurations specific for the 'gcc' toolchain.

Configuration specific for the 'openocd` server.

FieldTypeLabelDescription
pathstringPath to openocd.
scripts_dirstringPath to openocd scripts.
scriptsstringrepeatedList of scripts to execute by openocd.

The top-level message sent by the client for the

Debug
method. Multiple
DebugRequest
messages can be sent but the first message must contain a
GetDebugConfigRequest
message to initialize the debug session. All subsequent messages must contain bytes to be sent to the debug session and must not contain a
GetDebugConfigRequest
message.

Content must be either a debug session config or data to be sent.

FieldTypeLabelDescription
debug_requestGetDebugConfigRequestProvides information to the debug that specifies which is the target. The first DebugRequest message must contain a GetDebugConfigRequest message.
databytesThe data to be sent to the target being monitored.
send_interruptboolSet this to true to send and Interrupt signal to the debugger process.

The streaming response may contain chunks of data from the debugger or an error.

FieldTypeLabelDescription
databytesIncoming data from the debugger tool.
resultDebugResponse.ResultDebugging result.
FieldTypeLabelDescription
errorstringIncoming error output from the debugger tool.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the board in use (e.g., arduino:samd:mkr1000). If this is omitted, the FQBN attached to the sketch will be used.
sketch_pathstringPath to the sketch that is running on the board. The compiled executable is expected to be located under this path.
portPortPort of the debugger (optional).
interpreterstringWhich GDB command interpreter to use.
import_dirstringDirectory containing the compiled executable. If import_dir is not specified, the executable is assumed to be in {sketch_path}/build/{fqbn}/.
programmerstringThe programmer to use for debugging.
debug_propertiesstringrepeatedList of custom debug properties.
FieldTypeLabelDescription
executablestringThe executable binary to debug.
toolchainstringThe toolchain type used for the build (for example "gcc").
toolchain_pathstringThe toolchain directory.
toolchain_prefixstringThe toolchain architecture prefix (for example "arm-none-eabi").
serverstringThe GDB server type used to connect to the programmer/board (for example "openocd").
server_pathstringThe GDB server directory.
toolchain_configurationgoogle.protobuf.AnyExtra configuration parameters wrt toolchain.
server_configurationgoogle.protobuf.AnyExtra configuration parameters wrt GDB server.
custom_configsGetDebugConfigResponse.CustomConfigsEntryrepeatedCustom debugger configurations (not handled directly by Arduino CLI but provided for 3rd party plugins/debuggers). The map keys identifies which 3rd party plugin/debugger is referred, the map string values contains a JSON configuration for it.
svd_filestringthe SVD file to use.
programmerstringThe programmer specified in the request.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the board in use (e.g., arduino:samd:mkr1000).
portPortPort of the debugger (optional).
interpreterstringWhich GDB command interpreter to use.
programmerstringThe programmer to use for debugging.
debug_propertiesstringrepeatedList of custom debug properties.
FieldTypeLabelDescription
debugging_supportedboolTrue if debugging is supported.
debug_fqbnstringThis is the same FQBN given in the IsDebugSupportedRequest but cleaned up of the board options that do not affect the debugger configuration. It may be used by clients/IDE to group slightly different boards option selections under the same debug configuration.

Top

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
port_protocolstringThe port protocol to enumerate settings.
fqbnstringThe board FQBN we are trying to connect to. This is optional, and it's needed to disambiguate if more than one platform provides the pluggable monitor for a given port protocol.
FieldTypeLabelDescription
settingsMonitorPortSettingDescriptorrepeatedA list of descriptors of the settings that may be changed for the monitor port.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
portPortPort to open, must be filled only on the first request.
fqbnstringThe board FQBN we are trying to connect to. This is optional, and it's needed to disambiguate if more than one platform provides the pluggable monitor for a given port protocol.
port_configurationMonitorPortConfigurationPort configuration, optional, contains settings of the port to be applied.
FieldTypeLabelDescription
setting_idstringThe setting identifier.
labelstringA human-readable label of the setting (to be displayed on the GUI).
typestringThe setting type (at the moment only "enum" is avaiable).
enum_valuesstringrepeatedThe values allowed on "enum" types.
valuestringThe selected or default value.
FieldTypeLabelDescription
open_requestMonitorPortOpenRequestOpen request, it must be the first incoming message.
tx_databytesData to send to the port.
updated_configurationMonitorPortConfigurationPort configuration, contains settings of the port to be changed.
closeboolClose message, set to true to gracefully close a port (this ensure that the gRPC streaming call is closed by the daemon AFTER the port has been successfully closed).
FieldTypeLabelDescription
errorstringEventual errors dealing with monitor port.
rx_databytesData received from the port.
applied_settingsMonitorPortConfigurationSettings applied to the port, may be returned after a port is opened (to report the default settings) or after a new port_configuration is sent (to report the new settings applied).
successboolA message with this field set to true is sent as soon as the port is succesfully opened.

Top

Configuration to apply to the given instance. Any missing field will be kept at the default value.

FieldTypeLabelDescription
directoriesConfiguration.DirectoriesThe directories configuration.
networkConfiguration.NetworkThe network configuration.
sketchConfiguration.SketchThe sketch configuration.
build_cacheConfiguration.BuildCacheThe build cache configuration.
board_managerConfiguration.BoardManagerThe board manager configuration.
daemonConfiguration.DaemonThe daemon configuration.
outputConfiguration.OutputThe console output configuration.
loggingConfiguration.LoggingThe logging configuration.
libraryConfiguration.LibraryThe library configuration.
updaterConfiguration.UpdaterThe updater configuration.
localestringoptionalThe language locale to use.
FieldTypeLabelDescription
additional_urlsstringrepeatedAdditional URLs to be used for the board manager.
FieldTypeLabelDescription
compilations_before_purgeuint64The minimum number of compilations before the cache is purged.
ttl_secsuint64Time to live of the cache in seconds.
FieldTypeLabelDescription
portstringThe TCP port of the daemon.
FieldTypeLabelDescription
datastringData directory.
userstringUser directory.
downloadsstringDownloads directory.
builtinConfiguration.Directories.BuiltinoptionalThe directory where the built-in resources are installed.
FieldTypeLabelDescription
librariesstringoptionalThe directory where the built-in libraries are installed.
FieldTypeLabelDescription
enable_unsafe_installboolSet to true to enable library installation from zip archives or git repositories.
FieldTypeLabelDescription
levelstringThe logging level.
formatstringThe logging format.
filestringoptionalThe logging file.
FieldTypeLabelDescription
extra_user_agentstringoptionalExtra user-agent information to be appended in network requests.
proxystringoptionalThe proxy to use for network requests.
FieldTypeLabelDescription
no_colorboolSet to true to disable coloring of the output.
FieldTypeLabelDescription
always_export_binariesboolSet to true to always export binaries to the sketch directory.
FieldTypeLabelDescription
enable_notificationboolSet to true to enable notifications for updates.
FieldTypeLabelDescription
configurationConfigurationThe current configuration.
FieldTypeLabelDescription
encoded_settingsstringThe encoded settings.
settings_formatstringThe format of the encoded settings, allowed values are "json" and "yaml".
FieldTypeLabelDescription
warningsstringrepeatedWarnings that occurred while opening the configuration (e.g. unknown keys, or invalid values).
FieldTypeLabelDescription
settings_formatstringThe format of the encoded settings, allowed values are "json" and "yaml".
FieldTypeLabelDescription
encoded_settingsstringThe encoded settings.
FieldTypeLabelDescription
entriesSettingsEnumerateResponse.EntryrepeatedThe list of key/value pairs.
FieldTypeLabelDescription
keystringThe key.
typestringThe key type.
FieldTypeLabelDescription
keystringThe key to get.
value_formatstringThe format of the encoded_value (default is "json", allowed values are "json" and "yaml).
FieldTypeLabelDescription
encoded_valuestringThe value of the key (encoded).
FieldTypeLabelDescription
keystringThe key to change.
encoded_valuestringThe new value (encoded), no objects, only scalar or array of scalars are allowed.
value_formatstringThe format of the encoded_value (default is "json", allowed values are "json", "yaml" and "cli").

Top

FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the target board (e.g., arduino:avr:uno).
portPortThe port of the programmer used to program the bootloader.
verboseboolWhether to turn on verbose output during the programming.
verifyboolAfter programming, verify the contents of the memory on the board match the uploaded binary.
programmerstringThe programmer to use for burning bootloader.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsBurnBootloaderRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info: https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
out_streambytesThe output of the burn bootloader process.
err_streambytesThe error output of the burn bootloader process.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the target board (e.g., arduino:avr:uno).
FieldTypeLabelDescription
programmersProgrammerrepeatedList of programmers supported by the board.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the target board (e.g., arduino:avr:uno).
protocolstringProtocol that will be used to upload, this information is necessary to pick the right upload tool for the board specified with the FQBN.
FieldTypeLabelDescription
user_fieldsUserFieldrepeatedUser fields supported by board specified in SupportedUserFieldsRequest. If board doesn't support any field it will be empty.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the target board (e.g., arduino:avr:uno). If this field is not defined, the FQBN of the board attached to the sketch via the BoardAttach method is used.
sketch_pathstringPath where the sketch to be uploaded is stored. Unless the import_file field is defined, the compiled binary is assumed to be at the location and filename under this path where it is saved by the Compile method.
portPortThe port of the board.
verboseboolWhether to turn on verbose output during the upload.
verifyboolAfter upload, verify that the contents of the memory on the board match the uploaded binary.
import_filestringWhen import_file is specified, it overrides the import_dir and sketch_path params.
import_dirstringCustom path to a directory containing compiled files. When import_dir is not specified, the standard build directory under sketch_path is used.
programmerstringThe programmer to use for upload. If set an UploadUsingProgrammer is triggered instead of a normal upload. The UploadUsingProgrammer call may also be used for explicit error check.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsUploadRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info: https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
out_streambytesThe output of the upload process.
err_streambytesThe error output of the upload process.
resultUploadResultThe upload result.
FieldTypeLabelDescription
updated_upload_portPortWhen a board requires a port disconnection to perform the upload, this field returns the port where the board reconnects after the upload.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
fqbnstringFully qualified board name of the target board (e.g., arduino:avr:uno). If this field is not defined, the FQBN of the board attached to the sketch via the BoardAttach method is used.
sketch_pathstringPath where the sketch to be uploaded is stored. Unless the import_file field is defined, the compiled binary is assumed to be at the location and filename under this path where it is saved by the Compile method.
portPortThe port of the board.
verboseboolWhether to turn on verbose output during the upload.
verifyboolAfter upload, verify that the contents of the memory on the board match the uploaded binary.
import_filestringWhen import_file is specified, it overrides the import_dir and sketch_path params.
import_dirstringCustom path to a directory containing compiled files. When import_dir is not specified, the standard build directory under sketch_path is used.
programmerstringThe programmer to use for upload.
dry_runboolIf set to true, the actual upload will not be performed but a trace output will be printed stdout. This is for debugging purposes.
user_fieldsUploadUsingProgrammerRequest.UserFieldsEntryrepeatedUser provided fields usually used by upload tools that need authentication or in any case fields that can be customized by the user at upload time and cannot be known previously. For more info: https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields
upload_propertiesstringrepeatedList of custom upload properties.
FieldTypeLabelDescription
keystring
valuestring
FieldTypeLabelDescription
out_streambytesThe output of the upload process.
err_streambytesThe error output of the upload process.
FieldTypeLabelDescription
tool_idstringId of the tool that supports this field.
namestringName used internally to store and retrieve this field.
labelstringLabel is the text shown to the user when they need to input this field.
secretboolTrue if the value of the field must not be shown when typing, for example when the user inputs a network password.

Top

FieldTypeLabelDescription
sketch_pathstringAbsolute path to Sketch file or folder containing Sketch file.
archive_pathstringAbsolute path to archive that will be created or folder that will contain it.
include_build_dirboolSpecifies if build directory should be included in the archive.
overwriteboolAllows to override an already existing archive.
FieldTypeLabelDescription
force_checkboolForce the check, even if the configuration says not to check for updates.
FieldTypeLabelDescription
newest_versionstringThe latest version of Arduino CLI available, if bigger than the current version.
FieldTypeLabelDescription
instanceInstanceThe Arduino Core Service instance.
FieldTypeLabelDescription
instanceInstanceAn Arduino Core instance.
FieldTypeLabelDescription
instanceInstanceThe Arduino Core Service instance to destroy.
FieldTypeLabelDescription
reasonFailedInstanceInitReasonspecific cause of the error.
messagestringexplanation of the error.
FieldTypeLabelDescription
index_urlstringThe URL of the index that was updated.
statusIndexUpdateReport.StatusThe result of the index update.
FieldTypeLabelDescription
instanceInstanceAn Arduino Core instance.
profilestringProfile to use.
sketch_pathstringThe path where the sketch is stored.
FieldTypeLabelDescription
init_progressInitResponse.ProgressThe initialization progress.
errorgoogle.rpc.StatusThe error in case the initialization failed.
profileSketchProfileSelected profile information.
FieldTypeLabelDescription
download_progressDownloadProgressProgress of the downloads of platforms and libraries index files.
task_progressTaskProgressDescribes the current stage of the initialization.
FieldTypeLabelDescription
sketch_pathstringAbsolute path to single sketch file or a sketch folder.
FieldTypeLabelDescription
sketchSketchThe loaded sketch.
FieldTypeLabelDescription
sketch_namestringNew sketch name.
sketch_dirstringOptional: create a Sketch in this directory (used as "Sketchbook" directory). Default Sketchbook directory "directories.User" is used if sketch_dir is empty.
overwriteboolSpecificies if an existing .ino sketch should be overwritten.
FieldTypeLabelDescription
main_filestringAbsolute path to a main sketch file.
FieldTypeLabelDescription
sketch_pathstringAbsolute path to Sketch file or folder containing Sketch file.
default_fqbnstringThe desired value for default_fqbn in project file (sketch.yaml).
default_port_addressstringThe desired value for default_port in project file (sketch.yaml).
default_port_protocolstringThe desired value for default_protocol in project file (sketch.yaml).
default_programmerstringThe desired value for default_programmer in project file (sketch.yaml).
FieldTypeLabelDescription
default_fqbnstringThe value of default_fqnn that has been written in project file (sketch.yaml).
default_port_addressstringThe value of default_port that has been written in project file (sketch.yaml).
default_port_protocolstringThe value of default_protocol that has been written in project file (sketch.yaml).
default_programmerstringThe value of default_programmer that has been written in project file (sketch.yaml).
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
ignore_custom_package_indexesboolIf set to true user defined package indexes will not be updated.
update_if_older_than_secsint64Only perform index update if the index file is older than this value in seconds.
FieldTypeLabelDescription
download_progressDownloadProgressProgress of the package index download.
resultUpdateIndexResponse.ResultThe result of the index update.
FieldTypeLabelDescription
updated_indexesIndexUpdateReportrepeatedThe result of the packages index update.
FieldTypeLabelDescription
instanceInstanceArduino Core Service instance from the Init response.
update_if_older_than_secsint64Only perform index update if the index file is older than this value in seconds.
FieldTypeLabelDescription
download_progressDownloadProgressProgress of the libraries index download.
resultUpdateLibrariesIndexResponse.ResultThe result of the index update.
FieldTypeLabelDescription
libraries_indexIndexUpdateReportThe result of the libraries index update.
FieldTypeLabelDescription
versionstringThe version of Arduino CLI in use.

Represent the reason why an instance initialization failed.

NameNumberDescription
FAILED_INSTANCE_INIT_REASON_UNSPECIFIED0FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized.
FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL1INVALID_INDEX_URL a package index url is malformed.
FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR2FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR failure encountered while loading an index.
FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR3FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR failure encountered while loading a tool.
FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR4FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR failure encountered while downloading an index.

The status represents the result of the index update.

NameNumberDescription
STATUS_UNSPECIFIED0The status of the index update is unspecified.
STATUS_UPDATED1The index has been successfully updated.
STATUS_ALREADY_UP_TO_DATE2The index was already up to date.
STATUS_FAILED3The index update failed.
STATUS_SKIPPED4The index update was skipped.

The main Arduino Platform service API.

Method NameRequest TypeResponse TypeDescription
CreateCreateRequestCreateResponseCreate a new Arduino Core instance.
InitInitRequestInitResponse streamInitializes an existing Arduino Core instance by loading platforms and libraries.
DestroyDestroyRequestDestroyResponseDestroy an instance of the Arduino Core Service.
UpdateIndexUpdateIndexRequestUpdateIndexResponse streamUpdate package index of the Arduino Core Service.
UpdateLibrariesIndexUpdateLibrariesIndexRequestUpdateLibrariesIndexResponse streamUpdate libraries index.
VersionVersionRequestVersionResponseGet the version of Arduino CLI in use.
NewSketchNewSketchRequestNewSketchResponseCreate a new Sketch.
LoadSketchLoadSketchRequestLoadSketchResponseReturns all files composing a Sketch.
ArchiveSketchArchiveSketchRequestArchiveSketchResponseCreates a zip file containing all files of specified Sketch.
SetSketchDefaultsSetSketchDefaultsRequestSetSketchDefaultsResponseSets the sketch default FQBN and Port Address/Protocol in the sketch project file (sketch.yaml). These metadata can be retrieved using LoadSketch.
BoardDetailsBoardDetailsRequestBoardDetailsResponseRequests details about a board.
BoardListBoardListRequestBoardListResponseList the boards currently connected to the computer.
BoardListAllBoardListAllRequestBoardListAllResponseList all the boards provided by installed platforms.
BoardSearchBoardSearchRequestBoardSearchResponseSearch boards in installed and not installed Platforms.
BoardListWatchBoardListWatchRequestBoardListWatchResponse streamList boards connection and disconnected events.
CompileCompileRequestCompileResponse streamCompile an Arduino sketch.
PlatformInstallPlatformInstallRequestPlatformInstallResponse streamDownload and install a platform and its tool dependencies.
PlatformDownloadPlatformDownloadRequestPlatformDownloadResponse streamDownload a platform and its tool dependencies to the staging/packages subdirectory of the data directory.
PlatformUninstallPlatformUninstallRequestPlatformUninstallResponse streamUninstall a platform as well as its tool dependencies that are not used by other installed platforms.
PlatformUpgradePlatformUpgradeRequestPlatformUpgradeResponse streamUpgrade an installed platform to the latest version.
UploadUploadRequestUploadResponse streamUpload a compiled sketch to a board.
UploadUsingProgrammerUploadUsingProgrammerRequestUploadUsingProgrammerResponse streamUpload a compiled sketch to a board using a programmer.
SupportedUserFieldsSupportedUserFieldsRequestSupportedUserFieldsResponseReturns the list of users fields necessary to upload to that board using the specified protocol.
ListProgrammersAvailableForUploadListProgrammersAvailableForUploadRequestListProgrammersAvailableForUploadResponseList programmers available for a board.
BurnBootloaderBurnBootloaderRequestBurnBootloaderResponse streamBurn bootloader to a board.
PlatformSearchPlatformSearchRequestPlatformSearchResponseSearch for a platform in the platforms indexes.
LibraryDownloadLibraryDownloadRequestLibraryDownloadResponse streamDownload the archive file of an Arduino library in the libraries index to the staging directory.
LibraryInstallLibraryInstallRequestLibraryInstallResponse streamDownload and install an Arduino library from the libraries index.
LibraryUpgradeLibraryUpgradeRequestLibraryUpgradeResponse streamUpgrade a library to the newest version available.
ZipLibraryInstallZipLibraryInstallRequestZipLibraryInstallResponse streamInstall a library from a Zip File.
GitLibraryInstallGitLibraryInstallRequestGitLibraryInstallResponse streamDownload and install a library from a git url.
LibraryUninstallLibraryUninstallRequestLibraryUninstallResponse streamUninstall an Arduino library.
LibraryUpgradeAllLibraryUpgradeAllRequestLibraryUpgradeAllResponse streamUpgrade all installed Arduino libraries to the newest version available.
LibraryResolveDependenciesLibraryResolveDependenciesRequestLibraryResolveDependenciesResponseList the recursive dependencies of a library, as defined by the depends field of the library.properties files.
LibrarySearchLibrarySearchRequestLibrarySearchResponseSearch the Arduino libraries index for libraries.
LibraryListLibraryListRequestLibraryListResponseList the installed libraries.
MonitorMonitorRequest streamMonitorResponse streamOpen a monitor connection to a board port.
EnumerateMonitorPortSettingsEnumerateMonitorPortSettingsRequestEnumerateMonitorPortSettingsResponseReturns the parameters that can be set in the MonitorRequest calls.
DebugDebugRequest streamDebugResponse streamStart a debug session and communicate with the debugger tool.
IsDebugSupportedIsDebugSupportedRequestIsDebugSupportedResponseDetermine if debugging is suported given a specific configuration.
GetDebugConfigGetDebugConfigRequestGetDebugConfigResponseQuery the debugger information given a specific configuration.
CheckForArduinoCLIUpdatesCheckForArduinoCLIUpdatesRequestCheckForArduinoCLIUpdatesResponseCheck for updates to the Arduino CLI.
CleanDownloadCacheDirectoryCleanDownloadCacheDirectoryRequestCleanDownloadCacheDirectoryResponseClean the download cache directory (where archives are downloaded).
ConfigurationSaveConfigurationSaveRequestConfigurationSaveResponseWrites the settings currently stored in memory in a YAML file.
ConfigurationOpenConfigurationOpenRequestConfigurationOpenResponseRead the settings from a YAML file.
ConfigurationGetConfigurationGetRequestConfigurationGetResponseGet the current configuration.
SettingsEnumerateSettingsEnumerateRequestSettingsEnumerateResponseEnumerate all the keys/values pairs available in the configuration.
SettingsGetValueSettingsGetValueRequestSettingsGetValueResponseGet a single configuration value.
SettingsSetValueSettingsSetValueRequestSettingsSetValueResponseSet a single configuration value.
.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)

[

Previous version

](../../commands/arduino-cli_version/)[

Next Configuration

](../../configuration/)

Copyright 2020 ARDUINO SA (http://www.arduino.cc/)

Made with Material for MkDocs

{"base": "../..", "features": [], "search": "../../assets/javascripts/workers/search.fcfe8b6d.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "version": {"provider": "mike"}}

In this page you can check the latest version of the Arduino CLI. You can find previous versions here.

ON THIS PAGE