Sign inSign up

slocomptech/docker-arduino

By slocomptech

Updated about 8 years ago

Docker for testing Arduino sketches and libraries

Image
0

1.2K

slocomptech/docker-arduino repository overview

Docker Arduino

Build Status

What it is docker-arduino ?

Docker-arduino is docker image for simple building and testing Arduino sketches and libraries.

Tools included

Images has preinstalled whole Arduino IDE from Arduino webside. This also includes arduino and arduino-builder which are linked in a way that they can be easy accessed by typing arduino or arduino-builder.

Enviroment variables

Images also includes enviroment variables for easier building.

Variable nameDescription
ARDUINO_DIRDirectory where Arduino IDE is installed.
ARDUINO_EXAMPLESDirectory where Arduino build-in examples are installed.
ARDUINO_HARDWAREHardware directory of Arduino IDE
ARDUINO_LIBSDirectory where Arduino build-in libraries are installed.
ARDUINO_TOOLSDirectory with hardware tools of Arduino IDE.
ARDUINO_TOOLS_BUILDERDirectory with tools-builder of Arduino IDE
ARDUINO_VERSIONVersion of Arduino IDE
A_FQBNArduino fully Qualified Board Name prefix
BIN_DIRDirectory where links for binaries are created.

Examples

Pure commands

Here is how would look command to compile your sketch.

arduino-builder -hardware ${ARDUINO_HARDWARE} -tools ${ARDUINO_TOOLS}/avr -tools ${ARDUINO_TOOLS_BUILDER} -libraries ${ARDUINO_LIBS} -libraries <your lib folder> -fqbn ${A_FQBN}:<arduino board name> <sketch>

Note: If you are running above command with sudo docker exec <container>, use ', so in the end you get sudo docker exec <container> bash -c '<command>'.

or

arduino --verify <sketch>
Integrated commands & special directories & files
CommandDescription
arduino_add_board_url <url>Add Arduino platform url
adruino_build_lib <path to lib dir>Build whole libariy with examples
arduino_build_sketch <path to sketch>Builds sketch
arduino_build_sketches <path to folder or sketch>Builds folder which contains sketch or folders with sketches or sketch itself
arduino_emulate_guiStarts fake GUI for Arduino IDE
arduino_install_board <boards>Installs additional boards
arduino_install_lib {<lib name>|<git url>}Installs library
arduino_verify_sketch <sketch>Same as arduino_build_sketch exept that command uses arduino instead of arduino-builder

Note: Scripts for building libs and multiple sketches expect that sketch has same name as folder and .ino extension.

Special directories Home directory(/root)

  • Arduino
    • libraries (folder for additional libraries)
    • hardware (folder for hardware)
    • tools (additional tools)
  • arduino_hardware.txt (additional links to hardware, separate with new line)
  • arduino_platforms.txt (override default boards, separate with new line)
  • arduino_tools.txt (additional links to tools)

Examples:

Full example:

arduino_install_board <board> # Install additional boards
arduino_install_lib <lib_name1>,<git_url>,<lib_name2> # Download libraries
git clone https://github.com/user/repo.git repo
arduino_build_lib repo

Set boards with command: àrduino_build_lib repo arduino:avr:uno,arduino:avr:nano,...

Build sketch: arduino_build_sketch repo/repo.ino

Example repositories

Feel free to contribute

Board list (not all, but most of them)
arduino:avr:uno
arduino:avr:pro
arduino:avr:lilypad
arduino:avr:mini:cpu=atmega328
arduino:avr:esplora
arduino:avr:micro:cpu=atmega328
arduino:avr:nano:cpu=atmega328
arduino:avr:mega:cpu=atmega2560
arduino:avr:diecimila
arduino:avr:yun
arduino:sam:arduino_due_x
arduino:samd:arduino_zero_native
esp8266:esp8266:huzzah:FlashSize=4M3M,CpuFrequency=80
arduino:avr:leonardo
adafruit:samd:adafruit_metro_m4
adafruit:avr:trinket5
arduino:avr:gemma

External documentation

Tag summary

Content type

Image

Digest

Size

655.5 MB

Last updated

about 8 years ago

docker pull slocomptech/docker-arduino