Giter Club home page Giter Club logo

darduino's Introduction

Dockerized Arduino IDE

This project is about installing and running the Arduino IDE from a docker image.

You do not have to pollute your original operating system, with installing the several libs and the app itself. Instead you only need docker to be installed.

At the same time you can keep your projects on your disk, that the arduino docker container will reach through volumes.

This solution was made based on the Running GUI apps with Docker blog post written by Fábio Rehm.

Use the container

Run this if you want the container to be removed after the session:

    docker run \
        -it \
        --rm \
        --network=host \
        -e DISPLAY=$DISPLAY \
        -v $HOME/.Xauthority:/home/developer/.Xauthority \
        --device /dev/ttyUSB0:/dev/ttyUSB0 \
        -v $HOME/Arduino:/home/developer/Arduino \
        tombenke/darduino \
        arduino

Or you can use docker-compose script like:

version: "3.4"

services:
  arduino:
    image: tombenke/darduino
    container_name: arduino
    network_mode: "host"
    environment:
      - "DISPLAY=${DISPLAY}"
    volumes:
      - "/tmp/.X11-unix:/tmp/.X11-unix"
      - "/dev/ttyUSB0:/dev/ttyUSB0"
      - "${HOME}/topics:/topics"
    command: "arduino"
    privileged: true

or just simply run the ./arduino.sh shell script, which contains the command listed above.

In case you want to make changes, then start the container without the --rm switch, and execute the commit and push docker commands.

ESP8266 Board Manager usage

Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager.

  1. Start Arduino and open Preferences window.
  2. Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
  3. Open Boards Manager from Tools > Board menu and install esp8266 platform.
  4. Select your ESP8266 board from Tools > Board menu after installation. For ESP8266-12F, select the Generic ESP8266 Module.

References

darduino's People

Contributors

insanusmokrassar avatar jerver avatar kaliiiiiiiiii avatar maxux avatar panisko avatar tombenke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

darduino's Issues

Persisting .arduino15 for the sake of ESP8266 boards

Hey there, I've been running a different Arduino IDE docker image based on some different sources, but my desire to persist /home/arduino/.arduino15 led me here.

Before doing it myself, I figured I'd check if someone else has, and I see that you mention the method for installing the ESP8266 board support, but don't have any persistence for it.

Is that something you've avoided on purpose or it just came later?

I've just tried mounting .arduino15 from my host to the docker container and it seems all right. Code compiling fine. But I've only been doing this for a few weeks now.

Please provide an Arm version of this.

I don't know how hard it would be, but I benefitted recently from a similar request for this package... Arduino could be a different kettle of fish!

nexdrew/rekcod#68 There is mention of a process for creating multi architecture containers.

Thanks for reading!

Couldn't get it working - please update and add more docs.

At first I had the issue with the tombenke/darduino:v1.8.5 because you don't have a version 1.8.5.

Then I ran into an issue with openjdk-9-jre not being available.

Then I had some X11 issue and I didn't know where to go from there.

Please try to run from scratch and updates settings/docs accordingly. I'd love to not install a bunch of Arduino files, etc on my Mac.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.