Install Software (Linux)

Installing Arduino

Visit to download the latest version of Arduino

Do not use yum or apt-get to install Arduino! You will get an ancient version, always download the latest from!

Click on the matching Linux Installer link (32 bit, 64 bit or ARM) to download the installer - save the file to your Downloads folder

From within your Terminal program, cd to the Downloads directory, and untar the package with tar xf arduino*.xz then cd into the arduino-n.n.n folder created:

Run ./ to install the software. I've got an old Ubuntu install so I got warnings, but it did create that desktop icon for me!

Driver Installation

Linux doesn't have any drivers to install, assuming you're running a v2.6 kernel or higher, which is almost certainly true. These instructions assume you're running Ubuntu. Each Linux distribution is different, but the instructions should be basic enough to follow for other distros.

You can verify your kernel version by running uname -a in a terminal window, note that this kernel is version 2.6.20

And this one is 3.2.0-23

Some older Linux distributions used to install brltty (braille device) which will conflict with the serial port. You must uninstall brltty if it is installed! Do so by running sudo apt-get remove brltty or equivalent In a terminal window. If it says it's not installed then thats OK. If you're not running a Debian-derived installation use whatever tool is necessary to verify that you don't have brltty running

Verify your Serial Port

Plug in the Circuit Playground, verify that the green LED is lit, and type ls /dev/ttyUSB* into a terminal window, you should see a device file called something like ttyUSB0

If you can't seem to find it, use dmesg | tail right after plugging in the Circuit Playground and look for hints on where it may put the device file. For example here is says Serial Device converter now attached to ttyUSB0

If you see something like this

[ 1900.712000] ftdi_sio 2-10:1.0: FTDI USB Serial Device converter detected
[ 1900.712000] drivers/usb/serial/ftdi_sio.c: Detected FT232BM
[ 1900.712000] usb 2-10: FTDI USB Serial Device converter now attached to ttyUSB0
[ 1901.868000] usb 2-10: usbfs: interface 0 claimed by ftdi_sio while 'brltty' sets config #1
[ 1901.872000] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 1901.872000] ftdi_sio 2-10:1.0: device disconnected

That means you have not uninstalled brltty and you should try again.

udev Rules

To use Adafruit's boards with most modern Linux distributions you'll want to ensure a few udev rules are applied.  These rules apply special configuration for USB devices like Adafruit's boards to workaround or fix common issues.  Specifically these rules allow Trinket and other boards to be programmed by the Arduino IDE that's run as a normal non-root user.  The rules also fix an issue with ModemManager hanging on to /dev/ttyACM devices when using Circuit Playground, Flora or Bluefruit Micro boards.

To install the rules you'll want download them and copy to the location of udev rules on your system.  For most Linux systems like Ubuntu, etc. udev rules are stored in /etc/udev/rules.d/ (check your distribution's documentation / help forums if you don't see this folder exists).  Run the following commands:

Download: file
sudo cp 99-adafruit-boards.rules /etc/udev/rules.d/

Note that you might need to change the rule if you're using a distribution other than Ubuntu/Debian.  In particular the first rule in the file applies the 'dialout' group to Trinket, etc. boards so they can be programmed without running the Arduino IDE as root.  Some distributions use a different group for this instead of 'dialout'.  Check your distribution docs or help forums to see what group should apply to devices that can be accessed by non-root users.

In particular you may need to change this line in

Download: file
# Circuit Playground
# General rule (actually covers all Adafruit boards with same USB VID):
ATTRS{idVendor}=="239a", MODE="0660", GROUP="adm"


Download: file
# Circuit Playground
# General rule (actually covers all Adafruit boards with same USB VID):
ATTRS{idVendor}=="239a", MODE="0660", GROUP="dialout"

Next you'll need to reload udev's rules so that they are properly applied.  You can restart your machine, or run a command like the following:

Download: file
sudo reload udev

If the command above fails, try instead running:

Download: file
sudo udevadm control --reload-rules
sudo udevadm trigger

And if that still fails reboot your system as it will ensure udev picks up the new configuration.

This guide was first published on Jul 19, 2016. It was last updated on Jul 19, 2016. This page (Install Software (Linux)) was last updated on Jul 20, 2019.