Command-line options

UECIDE has a large number of command-line options, both for scripting the compilation of sketches and programming of boards and for the manipulation of UECIDE and its plugins.

In OS X and Linux the command uecide can be used from the command line. On Windows the alternative uecide-cli.exe program must be used (this is the same as uecide.exe but doesn't detach from the terminal).

Sketch manipulation and compilation

Loading a sketch

A sketch can be loaded just by providing the path of either the main INO file or the folder in which the INO file resides. Alternatively --last-sketch may be used to load the sketch that was last used in UECIDE.

Compiling and uploading

--compile will compile the sketch as soon as UECIDE loads.

--upload will both compile and upload the sketch to the selected board.

To force a clean build of the core and all the libraries you can add the --purge flag.

To do a minimal cleanup of just the sketch's build folder you can use --clean.

Board and port selection

The board to compile with can be selected with --board=... where you specify the internal codename of the board. This can be found from the Plugin Manager and is the same as the package name for a board. For example the Arduino Uno would be --board=aurduino-uno.

The core and compiler can also be selected if needed in the same way with the --core=... and --compiler=... options.

The port for uploading can be selected using --port=.... On Linux the port will be /dev/ttyUSBx or /dev/ttyACMx etc. On OS X the names are a little more complex but still in /dev/.... Windows requires a device path such as \\.\COM3.

The programmer tool used to program the board with --upload can be selected with the --programmer=... option.

Packages and Plugins

All the packages and plugins can be installed, uninstalled and upgraded from the command line.

Updating the internal list of plugins can be done with the --update option and it is recommended you run this before any other package manipulation options.

Searching for Packages

You can search for a specific package with the --search=... option. This takes a single keyword or literal (quoted) phrase to search for in the package list. Search results can be refined by requesting a single family with the --family=... flag; for instance --family=avr

Groups and subgroups can be specified with --group=... and --subgroup=... to further narrow down the search. For example, to find the Arduino Yun you could use:

$ uecide --search=wifi --family=avr --group=Boards
Package                                             Installed  Available 
arduino-yun                                             1.1.0      1.1.0 
  Arduino Yún

The full package list can be obtained with --list. This can also be refined with --family=... and --group=... etc.

Installing and Uninstalling packages

A single package can be installed with --install=... where the codename (arduino-yun from the example above) is specified. Any prerequisites for the package are also installed.

Uninstalling can be done in the same way with the --remove=... option. Note that if the package is required by another package uninstallation will not be possible without also providing the --force flag. Note: this can break your UECIDE installation. Use with care.

Every installed package can be removed (to create a clean, empty installation of UECIDE) with the flag --remove-all.

Upgrading Packages

Packages can be all upgraded together with the --upgrade flag. It can be useful to combine both --update and --upgrade together to automate the updating of all your packages with one command.

Command Line Interface

Interactive CLI

The Interactive CLI can be started with the --cli option.

Headless Mode

For using the command-line interface under a graphical environment you need to specify the --headless flag to disable the GUI. This is not needed when using UECIDE remotely, for example through SSH.

Reducing Output Noise

The option --quiet can be used to silence all but the most important of output. This is good when running UECIDE within a script.

Debugging and UECIDE Internals


Extra debugging information for UECIDE internal operation can be obtained with --verbose and --exceptions. The Debug Window can be automatically opened at boot by adding the --debug flag.

The current version of UECIDE can be obtained with the --version option.

It is possible tor erase all your preference settings and return UECIDE back to its default installation state (with your packages still installed) by specifying --reset-preferences. This is useful if an error in your preferences file causes UECIDE to fail to load properly.

Data Storage Location

You can specify an alternative location for all the data files installed or created by UECIDE using the --datadir=... flag. This allows you to, for example, store all your installed packages and preferences in one central location and access them from multiple computers. It also allows you to have multiple installations of UECIDE (maybe different versions, for testing) each with their own set of data files. It could also be used to create a portable installation of UECIDE on an SD card.