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
Debugging
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.
Support Us
Running this server costs money. This server not only hosts this website, but is also the main build platform for creating the download files for UECIDE. Just a couple of pounds (or Dollars, Yen, Mongolian tögrög... we're not fussy) can help to offset the costs.
Alternatively, if you want to be more personal, you could buy me something on Amazon. I have a small wish-list of low-cost items that I'd quite like to receive. Make it a surprise.