Install Arduino IDE 2 on Linux with the AppImage

Install Arduino IDE 2 on Linux with the AppImage

The chmod +x command sets the executable bit on the AppImage. I find that small checkpoint useful because it concerns whether Linux can run the file, not the sketch.

Bring the sketch you want to write into focus. Then see where the desktop IDE fits in getting it ready for a board.

What Arduino IDE 2 does on Linux

Arduino IDE 2 is the desktop application where you write a sketch and send it to a connected Arduino board. A board package supplies support for its model, and the serial port carries the upload over USB.

If the board family you need is not listed after the IDE opens, Arduino’s Board Manager instructions explain how to add its package. Serial permissions are separate from board packages.

PartJob
Arduino IDE 2Write and upload a sketch from a desktop window
Board packageProvide support for a board family
Serial portConnect the IDE to the board over USB

What you need before installing

Arduino’s Linux IDE 2.3.10 release provides a 64-bit x86-64 AppImage. That file targets Intel and AMD x86-64 Linux systems, not 64-bit ARM.

Check your machine’s architecture before selecting the download:

uname -m

An x86_64 result matches this AppImage. An aarch64 result means you need a Linux build made for ARM instead.

  • A Linux x86-64 desktop and a connection to download the AppImage.
  • FUSE 2 support to run the AppImage. Ubuntu’s installation notes name the libfuse2 package.
  • Administrator access only if you need to add the FUSE package through your distribution’s package manager.
  • An Arduino board is optional for installing the IDE, but you need one connected by USB to upload a sketch.

Install Arduino IDE 2 from the Linux AppImage

The current Arduino IDE 2 release is 2.3.10, with a Linux AppImage for x86-64.

1. Download the Linux AppImage

Open Arduino’s software download page and choose the Linux 64-bit x86-64 AppImage under Arduino IDE 2. The official 2.3.10 release page lists the exact file as arduino-ide_2.3.10_Linux_64bit.AppImage.

Arduino IDE 2.3.10 Linux 64-bit AppImage in the official GitHub release assets
Arduino’s official 2.3.10 release lists the Linux 64-bit AppImage asset.

The AppImage is a single application file rather than a package installed through apt or another system package manager. For its execution and update behavior, see how an AppImage runs without a package-manager install.

2. Add FUSE 2 on Ubuntu if it is missing

An AppImage needs FUSE 2 to launch. The AppImage architecture documentation explains that the runtime mounts its bundled filesystem as a read-only directory, and Ubuntu’s installation instructions name libfuse2 if that runtime is missing:

sudo apt install libfuse2

Other distributions use their own package names for FUSE 2, so follow the current package instructions for your distribution. The sudo command runs this one system-package operation with administrator privileges.

3. Make the file executable and open it

Open a terminal in the folder where the AppImage was downloaded. The executable bit lets Linux run the file, and the test prints a message only after that permission is set.

chmod +x arduino-ide_2.3.10_Linux_64bit.AppImage && test -x arduino-ide_2.3.10_Linux_64bit.AppImage && echo "Execute permission is set"
Terminal confirmation that the Arduino IDE AppImage has executable permission
The check prints a confirmation only after the downloaded AppImage is executable.

Run the AppImage from the same folder to open Arduino IDE 2:

./arduino-ide_2.3.10_Linux_64bit.AppImage

If you prefer a desktop shortcut, launch the executable from your file manager after granting it permission.

Fix launch and serial-port problems

A launch error and a missing board port come from different layers. Check whether the application starts before changing USB permissions.

What you seeCheck next
Launch reports a missing FUSE libraryInstall FUSE 2 using your distribution’s package instructions. On Ubuntu, the package is libfuse2.
Terminal says permission denied for the AppImageRun the executable-permission command above from the directory containing the file.
The IDE opens but no serial port is listedConnect the board by USB and check whether Linux created a serial device. On Ubuntu, the device group is commonly dialout.
The board appears but upload access is deniedCheck the device’s group and your account’s supplementary groups. Apply the distribution’s serial-device permission steps, then start a new login session.

Ubuntu’s instructions add the account to dialout with usermod. Arduino’s Linux port-access instructions also identify dialout as the group used by many Linux configurations.

sudo usermod -a -G dialout $USER

The -a flag appends dialout to the account’s supplementary groups rather than replacing its other groups. Log out and back in after the change so the new session loads it.

When no serial device appears, use dmesg to check USB detection, then inspect rules with udevadm if Linux created a device with unexpected access.

The IDE launches before the board is ready

A working editor confirms that the AppImage opened, not that your account can use the board’s serial port. After adding your account to the device group, start a fresh login session before checking membership.

id -nG

If dialout appears in the output, return to Arduino IDE 2 and select the connected board and port. If it does not, see checking which groups your account belongs to before repeating the group change from a privileged account.

Arduino IDE on Linux questions

Does the Arduino IDE 2 Linux AppImage run on ARM?

No. The Arduino IDE 2.3.10 Linux AppImage listed by Arduino is built for 64-bit x86-64 systems. A 64-bit ARM machine needs a build for that architecture, not this file.

Does an AppImage need a system-wide install?

No. Make the downloaded file executable and launch it from its folder. The AppImage still depends on FUSE 2 being available on the system.

Why does Arduino IDE open without showing a port?

Launching the editor and accessing a USB serial device are separate checks. On Ubuntu, verify that your account belongs to dialout and start a new login session after changing group membership.