Arduino IDE on Debian

Last modified on 2018-06-10

I am a bit curious about how electronics work, especially microcontrollers, and Arduino is a popular starting point for beginners. These electronic boards can be programmed using the Arduino Integrated Development Environment (IDE). Software packages are available for Debian, but I choose to install and run the very latest version of the IDE from my home directory.

Let’s go!

Download the Linux 64bit package available from the Arduino website.

Unpack tarball and create symlink to the unpacked arduino VERSION directory in ~/bin

$ tar xvf arduino-VERSION-linux64.tar.xz
$ ln -s ~/arduino-VERSION/arduino ~/bin/arduino

Connect the Arduino board to the computer. Viewing dmesg shows …

$ dmesg -t | tail
usb 2-1: new full-speed USB device number 3 using xhci_hcd
usb 2-1: New USB device found, idVendor=2341, idProduct=0043, bcdDevice= 0.01
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
usb 2-1: Manufacturer: Arduino (
usb 2-1: SerialNumber: 5xxxxxxxxxxxxxxxxxxxx
cdc_acm 2-1:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Board shows up …

$ ls /dev/ttyA*
crw-rw---- 1 root dialout 166, 0 Jun  9 15:18 /dev/ttyACM0

I need to add my USERNAME to the dialout group …

$ sudo adduser USERNAME dialout

Update my group assignments in the current shell without logging out …

$ su - $USER
$ id
... 20(dialout) ...

Launch from terminal …

$ arduino

When a new version of the Arduino IDE is available, just download and unpack into a new directory and update the symlink to point to the updated software.

Links: Arduino IDE on Linux and Reload group assignments without logging out

Happy hacking!