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
To do a minimal cleanup of just the sketch's build folder you can use
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
The core and compiler can also be selected if needed in the same way with the
The port for uploading can be selected using
--port=.... On Linux the port will be
/dev/ttyACMx etc. On OS X the names are a little more complex but still in
/dev/.... Windows requires a device path such as
The programmer tool used to program the board with
--upload can be selected with the
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
Groups and subgroups can be specified with
--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
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
Packages can be all upgraded together with the
--upgrade flag. It can be useful to combine both
--upgrade together to automate the updating of all your packages with one command.
Command Line Interface
The Interactive CLI can be started with the
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
--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
--exceptions. The Debug Window can be automatically opened at boot by adding the
The current version of UECIDE can be obtained with the
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.
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.