Protocol Documentation
Table of Contents
Top
commands/board.proto
BoardAttachReq
BoardAttachResp
BoardDetailsReq
BoardDetailsResp
BoardListAllReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
| search_args | 
string | 
repeated | 
 | 
BoardListAllResp
BoardListItem
BoardListReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
BoardListResp
ConfigOption
ConfigValue
DetectedPort
Top
commands/commands.proto
DestroyReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
DestroyResp
InitReq
| Field | 
Type | 
Label | 
Description | 
| library_manager_only | 
bool | 
 | 
 | 
InitResp
RescanReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
RescanResp
| Field | 
Type | 
Label | 
Description | 
| platforms_index_errors | 
string | 
repeated | 
 | 
| libraries_index_error | 
string | 
 | 
 | 
UpdateIndexReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
UpdateIndexResp
UpdateLibrariesIndexReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
UpdateLibrariesIndexResp
VersionReq
VersionResp
| Field | 
Type | 
Label | 
Description | 
| version | 
string | 
 | 
 | 
ArduinoCore
The main Arduino Platform Service
BOOTSTRAP COMMANDS
Top
commands/common.proto
DownloadProgress
Instance
| Field | 
Type | 
Label | 
Description | 
| id | 
int32 | 
 | 
 | 
TaskProgress
Top
commands/compile.proto
CompileReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
| fqbn | 
string | 
 | 
Fully Qualified Board Name, e.g.: arduino:avr:uno. | 
| sketchPath | 
string | 
 | 
 | 
| showProperties | 
bool | 
 | 
Show all build preferences used instead of compiling. | 
| preprocess | 
bool | 
 | 
Print preprocessed code to stdout. | 
| buildCachePath | 
string | 
 | 
Builds of 'core.a' are saved into this path to be cached and reused. | 
| buildPath | 
string | 
 | 
Path where to save compiled files. | 
| buildProperties | 
string | 
repeated | 
List of custom build properties separated by commas. Or can be used multiple times for multiple properties. | 
| warnings | 
string | 
 | 
Used to tell gcc which warning level to use. | 
| verbose | 
bool | 
 | 
Turns on verbose mode. | 
| quiet | 
bool | 
 | 
Suppresses almost every output. | 
| vidPid | 
string | 
 | 
VID/PID specific build properties. | 
| exportFile | 
string | 
 | 
The compiled binary is written to this file | 
| jobs | 
int32 | 
 | 
The max number of concurrent compiler instances to run (as make -jx) | 
| libraries | 
string | 
repeated | 
List of custom libraries paths separated by commas. Or can be used multiple times for multiple libraries paths. | 
| optimizeForDebug | 
bool | 
 | 
Optimize compile output for debug, not for release | 
| dryRun | 
bool | 
 | 
When set to true the compiled binary will not be copied to the export directory | 
CompileResp
| Field | 
Type | 
Label | 
Description | 
| out_stream | 
bytes | 
 | 
 | 
| err_stream | 
bytes | 
 | 
 | 
Top
commands/core.proto
Board
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
| updatable_only | 
bool | 
 | 
 | 
| Field | 
Type | 
Label | 
Description | 
| installed_platform | 
Platform | 
repeated | 
 | 
| Field | 
Type | 
Label | 
Description | 
| search_output | 
Platform | 
repeated | 
 | 
Top
commands/lib.proto
DownloadResource
InstalledLibrary
Library
Library.PropertiesEntry
LibraryDependency
| Field | 
Type | 
Label | 
Description | 
| name | 
string | 
 | 
 | 
| version_constraint | 
string | 
 | 
 | 
LibraryDependencyStatus
LibraryDownloadReq
LibraryDownloadResp
LibraryInstallReq
LibraryInstallResp
LibraryListReq
LibraryListResp
LibraryRelease
LibraryResolveDependenciesReq
LibraryResolveDependenciesResp
LibrarySearchReq
LibrarySearchResp
LibraryUninstallReq
LibraryUninstallResp
LibraryUpgradeAllReq
| Field | 
Type | 
Label | 
Description | 
| instance | 
Instance | 
 | 
 | 
LibraryUpgradeAllResp
SearchedLibrary
SearchedLibrary.ReleasesEntry
LibraryLayout
| Name | 
Number | 
Description | 
| flat_layout | 
0 | 
 | 
| recursive_layout | 
1 | 
 | 
LibraryLocation
| Name | 
Number | 
Description | 
| ide_builtin | 
0 | 
 | 
| user | 
1 | 
(sketchbook) | 
| platform_builtin | 
2 | 
 | 
| referenced_platform_builtin | 
3 | 
 | 
LibrarySearchStatus
| Name | 
Number | 
Description | 
| failed | 
0 | 
 | 
| success | 
1 | 
 | 
Top
commands/upload.proto
UploadReq
UploadResp
| Field | 
Type | 
Label | 
Description | 
| out_stream | 
bytes | 
 | 
 | 
| err_stream | 
bytes | 
 | 
 | 
Scalar Value Types
| .proto Type | 
Notes | 
C++ | 
Java | 
Python | 
Go | 
C# | 
PHP | 
Ruby | 
|  double | 
 | 
double | 
double | 
float | 
float64 | 
double | 
float | 
Float | 
|  float | 
 | 
float | 
float | 
float | 
float32 | 
float | 
float | 
Float | 
|  int32 | 
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | 
int32 | 
int | 
int | 
int32 | 
int | 
integer | 
Bignum or Fixnum (as required) | 
|  int64 | 
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | 
int64 | 
long | 
int/long | 
int64 | 
long | 
integer/string | 
Bignum | 
|  uint32 | 
Uses variable-length encoding. | 
uint32 | 
int | 
int/long | 
uint32 | 
uint | 
integer | 
Bignum or Fixnum (as required) | 
|  uint64 | 
Uses variable-length encoding. | 
uint64 | 
long | 
int/long | 
uint64 | 
ulong | 
integer/string | 
Bignum or Fixnum (as required) | 
|  sint32 | 
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | 
int32 | 
int | 
int | 
int32 | 
int | 
integer | 
Bignum or Fixnum (as required) | 
|  sint64 | 
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | 
int64 | 
long | 
int/long | 
int64 | 
long | 
integer/string | 
Bignum | 
|  fixed32 | 
Always four bytes. More efficient than uint32 if values are often greater than 2^28. | 
uint32 | 
int | 
int | 
uint32 | 
uint | 
integer | 
Bignum or Fixnum (as required) | 
|  fixed64 | 
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | 
uint64 | 
long | 
int/long | 
uint64 | 
ulong | 
integer/string | 
Bignum | 
|  sfixed32 | 
Always four bytes. | 
int32 | 
int | 
int | 
int32 | 
int | 
integer | 
Bignum or Fixnum (as required) | 
|  sfixed64 | 
Always eight bytes. | 
int64 | 
long | 
int/long | 
int64 | 
long | 
integer/string | 
Bignum | 
|  bool | 
 | 
bool | 
boolean | 
boolean | 
bool | 
bool | 
boolean | 
TrueClass/FalseClass | 
|  string | 
A string must always contain UTF-8 encoded or 7-bit ASCII text. | 
string | 
String | 
str/unicode | 
string | 
string | 
string | 
String (UTF-8) | 
|  bytes | 
May contain any arbitrary sequence of bytes. | 
string | 
ByteString | 
str | 
[]byte | 
ByteString | 
string | 
String (ASCII-8BIT) |