I have an Arduino UNO, which I need to get working with Ubuntu.
Can somebody explain to me the steps required to install the IDE on Ubuntu?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
Arduino IDE from Ubuntu's repos are usually outdated. There are several ways to install the latest Arduino IDE: with
umake, from arduino.cc tar.gz, as a snap or flatpak. In all cases you may need to add your user to
dialout group (if it doesn't work, add it also to
sudo adduser $USER dialout
flatpak install flathub cc.arduino.IDE2 # cc.arduino.arduinoide for v1.x
Ubuntu Make is a command line tool which allows you to download the latest version of popular developer tools on your installation
Install Ubuntu Make
sudo apt install ubuntu-make
If not using Ubuntu 18.04+ or want the latest versions:
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt update
Install Arduino IDE with umake
umake electronics arduino
umake ide arduino is deprecated.
This will install it on
~/.local/share/umake/electronics/arduino. If you don't get the shortcut available you'll need to run
install.sh found there.
Some other software options (like Eagle or Sublime) are not free software. I recommend instead Fritzing and VSCodium (a community-driven, freely-licensed binary distribution of Microsoft’s editor VS Code).
lscpuwill tell you if 32 or 64 bits. If unsure, use 32 bits.
tar -xvf arduino-1.8.2-linux64.tar.xz).
sudo snap install arduino
If you need any other Python 3 dependencies other than
serial, you can install them inside the snap sandbox using the
This is from notes I took when installing an Arduino. It was very helpful when I had to go through the same thing with other computers.
Install Sketch which is used to program Arduinos.
Use one of the following methods.
sudo apt-get install arduino
sudo apt-get install arduino-core
Open "Ubuntu Software Center" Search "arduino"
Set up the vendor ID.
Without Arduino plugged in
This is what I got
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Again with Arduino plugged in.
This is what I got
Bus 004 Device 003: ID 2341:0043 Arduino SA Uno R3 (CDC ACM) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Look at the addition line.
It will look something like this
Bus 004 Device 003: ID 2341:0043
Insert the numbers that you have in the command below.
sudo modprobe usbserial vendor=0x2341 product=0x0043
Let's get the serial port to work
Without Arduino plugged in
Again with Arduino plugged in.
Look for the additional tty* NAME. Mine was ttyAMC0, yours may be ttyUSB* or ttyS*.
Now we know which port it is trying to use.
The following is used to log the serial input from the Arduino. You may not need it.
sudo apt-get install minicom
//It may be already installed on your computer.
sudo minicom -s
You will get a setup menu.
Change first line with /dev/ttyAMC0 or whatever you found in your /dev/ directory.
Save setup as dfl.
I don't know what this does I just read it somewhere and it worked.
It is on ttyACM0. When I looked at the directory /dev I found that ttyACM0 would come and go when the Ardunio was plugged in or taken out.
Install kst //This program will take a your ascii file and put it on chart.
sudo apt-get install kst
newer version will be available at some date.
sudo apt-get install gtkterm
Configure GtkTerm to the port which Arduino is connected to. The Arduino needs to be plugged in and the serial reader in Sketch can't be on.
You should be seeing the ascii numbers scrolling on GtkTerm.
Configure the GtkTerm to log the information to a text file.
If you open the text file now you should see the data in the file. I can't remember if GtkTerm needs to be pause to read this.
Use Data wizard to connect to the data text file with ascii.
The data should be column 1.
From here your on you own.
As of Ubuntu 16, my best luck has come with the software center, but don't install Arduino IDE if it comes up. You will want to install
arduino-mhall. It should look something like this:
I tried various other methods here, and had all sorts of problems. This one just worked and I've been happily making stuff with my Arduino ever since.
Is this not what you're looking for? Is universe not enabled in your software update prefs? From Precise.
$ apt-cache show arduino Package: arduino Priority: optional Section: universe/electronics Installed-Size: 881 Maintainer: Ubuntu Developers Original-Maintainer: Scott Howard Architecture: all Version: 1:1.0+dfsg-5 Depends: default-jre | java6-runtime, libjna-java, librxtx-java (>= 2.2pre2-3), arduino-core (= 1:1.0+dfsg-5) Recommends: extra-xdg-menus, policykit-1 Filename: pool/universe/a/arduino/arduino_1.0+dfsg-5_all.deb Size: 684106 MD5sum: 5dd5fe5e36013a8cab1d47a1f62734cc SHA1: c86f2453bb4b41f9bf1dade070fd0b2da140467c SHA256: 7e9aaf51bf6b69214ba47ff7d077aa668da5b2b38c616e94ffca68b5564e8cc8 Description-en: AVR development board IDE and built-in libraries Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. . This package will install the integrated development environment that allows for program writing, code verfication, compiling, and uploading to the Arduino development board. Libraries and example code will also be installed. Homepage: http://www.arduino.cc Description-md5: 60f8f72e8783c6b5a72254120b680cdb Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu
$ sudo apt-get install arduino Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: arduino-core avr-libc avrdude binutils-avr ca-certificates-java default-jre default-jre-headless extra-xdg-menus gcc-avr icedtea-6-jre-cacao icedtea-6-jre-jamvm icedtea-netx icedtea-netx-common java-common libatk-wrapper-java libatk-wrapper-java-jni libftdi1 libgif4 libjna-java librxtx-java openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib ttf-dejavu-extra tzdata-java Suggested packages: avrdude-doc binutils task-c-devel gcc-doc gcc-4.2 equivs libjna-java-doc icedtea-plugin libnss-mdns sun-java6-fonts ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-sazanami-gothic ttf-kochi-gothic ttf-sazanami-mincho ttf-kochi-mincho ttf-wqy-microhei ttf-wqy-zenhei ttf-indic-fonts-core ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts ttf-bengali-fonts Recommended packages: policykit-1 The following NEW packages will be installed: arduino arduino-core avr-libc avrdude binutils-avr ca-certificates-java default-jre default-jre-headless extra-xdg-menus gcc-avr icedtea-6-jre-cacao icedtea-6-jre-jamvm icedtea-netx icedtea-netx-common java-common libatk-wrapper-java libatk-wrapper-java-jni libftdi1 libgif4 libjna-java librxtx-java openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib ttf-dejavu-extra tzdata-java 0 upgraded, 26 newly installed, 0 to remove and 315 not upgraded. Need to get 56.6 MB of archives. After this operation, 175 MB of additional disk space will be used. Do you want to continue [Y/n]?
If you are installing the latest version (version 1.8.2) of the Arduino IDE, there is a file-naming error in the script which results in the error message:
cc.arduino.arduinonoide does not exist
When I looked in Arduino-1.8.2 64/lib there is no file
cc.arduino.arduinonoide.xml but there is a file named
The solution is to open
install.sh in your editor of choice and change
RESOURCE_NAME=arduino-arduinoide (and save the changes).
./install.sh can be run in the terminal without a hitch.
I understand that this problem will be fixed in release 1.8.3
The full installation process is thus:
Download the Aduino IDE from the Arduino website (selecting the 32-bit or 64-bit version according to your needs).
Navigate to your downloads folder:
edit the install.sh script as described above to correct the problem with RESOURCE_NAME:
cd arduino-1.8.2 64 nano install.sh
Make the changes as explained above, then save and exit.
Arduino-1.8.2 64 installation folder from your
/downloads folder to the
/opt/ directory: and then navigate to the new folder:
cd .. sudo mv arduino-1.8.2 64 /opt cd /opt/arduino-1.8.2 64/
chmod +x install.sh
and then run the script:
The Arduino IDE should now be installed and you should see the icon on your desktop.
First, you need to go to http://arduino.cc/hu/Main/Software. Then, download the Linux version of Arduino 1.0 for Linux. Next, extract the folder arduino-1.0 from the downloaded archive. Now, you just need to double click on the arduino file, choose Run from the dialog box that opens, and you're done! Arduino should now open.
If after extracting it is not working then Goto arduino 1.0 folder from your terminal and write
it should now open.
Since February 2020, the easiest way to install the latest Arduino IDE is to use the Arduino snap:
snap install arduino
Then add your user to the
sudo usermod -a -G dialout $USER
After this, reboot your device and open Arduino IDE.
The Arduino IDE snap runs inside a sandbox for security and stability reasons. This means it cannot access the Python libraries on your device. The snap bundles Python 3 and the
serial library. If you need any other Python dependencies, you can install them inside the sandbox using the
arduino.pip install <package-name>
Note: do not use
sudo for this command