Command build tool for Arduino development built using Node.js. Allows installing library dependencies using the wonderful package manager Npm.
Inspiration taken from the Ino project.
$ npm install -g leo
Create a new example Blink project
$ leo new Blink
Move into project directory
$ cd Blink
Build hex file
$ leo build -b yun
$ leo build -b uno
Upload hex file
$ leo upload -b uno -p /dev/tty.usbmodem1141
Open a serial console
$ leo console -p /dev/tty.usbmodem1141 -b 9600
Search for supported libraries
$ leo search wifi
Example shows how you can install dependencies using npm. All modules provided by Arduino are added to npm as {module}.ino for instance wifi.ino is added to the Blink project. Note: Wifi.ino depends on SPI.ino which is automatically resolved.
$ leo new Blink
$ cd Blink
$ npm install wifi.ino --save
$ leo build -b uno
You can use the leo search
command to search npm:
$ leo search arduino
NAME DESCRIPTION AUTHOR DATE VERSIO
spi.ino Spi library for Arduino. Packaged for the leo build system. =adammagaluk 2014-05-08 0.0.1
wifi.ino Libary for the Arduino WiFi shield. Packaged for the leo… =adammagaluk 2014-05-08 0.1.2
leo search
just filters npm search
by packages ending in .ino
.
$ leo -h
Usage: leo [options] [command]
Commands:
boards List boards available.
build [options] Build firmware for the project in the current directory.
config [options] Modify leo configuration
console [options] Open a serial console to the board for debugging.
new <folder> Create a new example project
preproc [options] <sketch> Compile sketch to valid c++ source
search Search for supported libraries.
upload [options] Upload firmware to device.
*
Options:
-h, --help output usage information
-V, --version output the version number
-v, --verbose [value] Verbose level
MIT