ArduPilot Configurator is a crossplatform configuration tool for the ArduPilot flight control system.
It runs as an app within Google Chrome and allows you to configure the ArduPilot software running on any supported ArduPilot target.
Various types of aircraft are supported by the tool and by ArduPilot, e.g. quadcopters, hexacopters, octocopters and fixed-wing aircraft.
Depending on target operating system, ArduPilot Configurator is distributed as standalone application or Chrome App.
- Visit release page
- Download Configurator for Windows platform (win32 or win64 is present)
- Extract ZIP archive
- Run ArduPilot Configurator app from unpacked folder
- Configurator is not signed, so you have to allow Windows to run untrusted application. There might be a monit for it during first run
- Visit release page
- Download Configurator for Linux platform (linux32 and linux64 are present)
- Extract tar.gz archive
- Make the ArduPilot-configurator file executable (chmod +x ArduPilot-configurator)
- Run ARDUPILOT Configurator app from unpacked folder
- Visit release page
- Download Configurator for Mac platform
- Extract ZIP archive
- Run ArduPilot Configurator
- Configurator is not signed, so you have to allow Mac to run untrusted application. There might be a monit for it during first run
ArduPilot Configurator form ChromeOS is available in Chrome Web Store
For local development, node.js build system is used.
- Install pre-requisites:
sudo apt install curl git
- Install 'nvm' , if you don't already have it, the 'node version manager', and use it to get node 16:
nvm --version
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
. ~/.profile
command -v nvm
nvm install 16.14.0
which node
- download the app sources :
git clone https://github.com/ArduPilot/ArduConfigurator.git
cd ArduConfigurator
- run the app in 'dev' mode [be sure your node is v16, see above at step 2 if its not]:
node --version
npm install
npm run gulp build
npm run dev
-
'npm run dev' runs to it from the source folder without bundling any resources, great for debug and code hacking. Its also the only way the code runs right this instant., sorry, we haven't got any release ready yet. 'npm start' is very similar, but uses a 'bundled' main.html
-
'npm start' is supposed to be the alternative to running it in dev mode, but as we dont have any release yet, its not the way we use the app at the moment, so this comment is a reminder to not use this command yet.
-
no right-click, no developer tools..? If the app starts-up for you, but right-click doesnn't allow you to use chrome-dev-tools or inspect stuff, then you don't have the 'sdk' version of NW installed. Theese command/s to try to remedy that are (one or more of these might help), but are not part of a normal install, and you should not run them unless you somehow got the wrong 'nw' version:
nvm deactivate
mv ~/.npmrc ~/.npmrc.bak
rm -rf node_modules/nw
rm package-lock.json
npm install --save nw@0.50.3-sdk
sudo npm install --save nw@0.50.3-sdk -g
export NWJS_BUILD_TYPE=sdk; npm install
-
Bundling/releasing not working properly just now, but when it's working it will run like this: 'npm run gulp dist' to bundle it. 'npm run gulp release' to make win32/win64/osx/linux32/linux64 packages.
-
this ap can be used as a chrome plugin, but usually is use "integrated" with nw.js [expect bugs if u do this] :
- With NW.js: Run
npm start
[probably not working]. - With Chrome: Run
npm run gulp
. Then openchrome://extensions
, enable theDeveloper mode
, click on theLoad unpacked extension...
button and select theArduConfigurator
directory.
- With NW.js: Run
Gulp hints? Other tasks are also defined in gulpfile.js
. To run a task, use npm run gulp task-name
. Available ones are:
- build: Generate JS and CSS output files used by the configurator from their sources. It must be run whenever changes are made to any
.js
or.css
files in order to have those changes appear in the configurator. If new files are added, they must be included ingulpfile.js
. See the comments at the top ofgulpfile.js
to learn how to do so. See also thewatch
task. - watch: Watch JS and CSS sources for changes and run the
build
task whenever they're edited. - dist: Create a distribution of the app (valid for packaging both as a Chrome app or a NW.js app)
in the
./dist/
directory. - release: Create NW.js apps for each supported platform (win32, osx64 and linux64) in the
./apps
directory. Running this task on macOS or Linux requires Wine, since it's needed to set the icon for the Windows app. If you don't have Wine installed you can create a release by running the release-only-linux task.
See BUGS page
See MAPS page
Make sure Settings -> System -> "User hardware acceleration when available" is checked to achieve the best performance
- Dont forget to add your user into dialout group "sudo usermod -aG dialout YOUR_USERNAME" for serial access
- If you have 3D model animation problems, enable "Override software rendering list" in Chrome flags chrome://flags/#ignore-gpu-blacklist
- The configurator will run on WSL2 as long as you have X configured and an X server running without auth (e.g. XLaunch)
- WSL2 does not support USB so no direct communication with flight controllers is currently possible
GitHub issue tracker is reserved for bugs and other technical problems. If you do not know how to setup everything, hardware is not working or have any other support problem, please consult:
For ArduPilot configurator issues raise them here
https://github.com/ArduPilot/ArduConfigurator/issues
For ArduPilot firmware issues raise them here
https://github.com/ArduPilot/ardupilot/issues
We accept clean and reasonable patches or PRs, submit them!
ctn - author and maintainer ofof stuff from which this project was forked. Hydra - author and maintainer of stuff from which this project was forked. Konstantin Sharlaimov/DigitalEntity - author and maintainer of stuff from which this project was forked. Paweł Spychalski - author and maintainer of stuff from which this project was forked.