Skip to content


arduino-cli compile

Compiles Arduino sketches.


Compiles Arduino sketches.

arduino-cli compile [flags]


  arduino-cli compile -b arduino:avr:uno /home/user/Arduino/MySketch


      --build-cache-path string    Builds of 'core.a' are saved into this path to be cached and reused.
      --build-path string          Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.
      --build-properties strings   List of custom build properties separated by commas. Or can be used multiple times for multiple properties.
  -b, --fqbn string                Fully Qualified Board Name, e.g.: arduino:avr:uno
  -h, --help                       help for compile
      --libraries strings          List of custom libraries paths separated by commas. Or can be used multiple times for multiple libraries paths.
      --optimize-for-debug         Optional, optimize compile output for debug, not for release.
  -o, --output string              Filename of the compile output.
  -p, --port string                Upload port, e.g.: COM10 or /dev/ttyACM0
      --preprocess                 Print preprocessed code to stdout instead of compiling.
      --quiet                      Optional, supresses almost every output.
      --show-properties            Show all build properties used instead of compiling.
  -u, --upload                     Upload the binary after the compilation.
  -t, --verify                     Verify uploaded binary after the upload.
      --vid-pid string             When specified, VID/PID specific build properties are used, if boards supports them.
      --warnings string            Optional, can be "none", "default", "more" and "all". Defaults to "none". Used to tell gcc which warning level to use (-W flag). (default "none")

Options inherited from parent commands

      --additional-urls strings   Additional URLs for the board manager.
      --config-file string        The custom config file (if not specified the default will be used).
      --format string             The output format, can be [text|json]. (default "text")
      --log-file string           Path to the file where logs will be written.
      --log-format string         The output format for the logs, can be [text|json].
      --log-level string          Messages with this level and above will be logged. Valid levels are: Trace, Debug, Info, Warning, Error, Fatal, Panic
  -v, --verbose                   Print the logs on the standard output.


Auto generated by spf13/cobra on 19-May-2020