Arduino is an open-source physical computing platform based on a simple I/O board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing and MaxMSP). The boards can be assembled by hand or purchased preassembled at


In order to upload code an arduino board over USB, you need to add your user to the dialout group. Open a terminal window, run the following command and reboot your computer.

sudo usermod -a -G dialout $USER

Now restart your computer and you're good to go!

If you have one of the following boards, you need to grant specific permissions to your user for accessing directly the USB. This issue is more detailed here

For granting this direct access:

echo "SUBSYSTEM==\"usb\", MODE=\"0660\", GROUP=\"$(id -gn)\"" | sudo tee /etc/udev/rules.d/00-usb-permissions.rules
udevadm control --reload-rules

Python 3 support

This version of Arduino IDE runs in a sandbox for improved security and stability. As a result, it does not have access to the Python libraries on your device.

Python 3 and the serial library are installed inside of the sandbox so they can be used by plugins. If a plugin needs additional Python 3 libraries, you can install them using the arduino.pip command. For example, the following command installs the requests library inside of the sandbox so the Arduino IDE can use it.

arduino.pip install requests

Python 2 is currently not supported in this package because it reached end of life on January 1st 2020. If you have hardware that requires Python 2 support, please let us know.

Are you having issues?

Let us know by creating a new issue here:


Get it from the Snap Store

Search for another snap, or go back to the homepage.
An error has occurred. This application may no longer respond until reloaded. Reload 🗙