Easy Installation of the Arduino IDE

openSUSE - all versions

For all versions of openSUSE that are currently maintained (12.3 and 13.1), click on the button bellow for One Click Installation via YaST.

openSUSE One Click Installer for Arduino IDE

  • The installer will automatically choose packages of the same architecture (32 or 64 bit) as those used on your system.

  • After installation, you will need to make every user a member of the groups: "dialout", "lock" and "uucp".

    • To do this in YaST, select the Security and Users section, open the User and Group Management module and make the changes required here.

    • To do this from the command line, enter the following as root:
      # usermod -a -G dialout,lock,uucp <USER_NAME>

  • Then log out and log in again.

  • Now run arduino in your favourite terminal.

Recommended Software for Use with Your Arduino Projects

Fritzing

Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics. The Fritzing software can help you document your Arduino projects, learn more about electronic circuits, share your work with others and prepare your designs for professional manufacturing.

Easy Installation of Fritzing

For all versions of openSUSE that are currently maintained (12.3 and 13.1), click on the button bellow for One Click Installation via YaST.

openSUSE One Click Installer for Fritzing

  • The installer will automatically choose packages of the same architecture (32 or 64 bit) as those used on your system.

  • After installation, Fritzing can be launched from your desktop's menu. It is located in the Development / Integrated Environment section.

Installation of the Arduino IDE from the Command Line

openSUSE - all versions

  • Enter the following as root from the command line, replacing the "<NN.N>" part of the URI with the version number required, eg. "13.1":

# zypper ar -f http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_<NN.N> 'CrossToolchain:avr'
# zypper ref
# zypper in arduino

  • Still as root, add the users to the required groups by entering the following:
# usermod -a -G dialout,lock,uucp <USER_NAME>

  • Then log out and log in again.

  • Now run arduino in your favourite terminal.

Other Information - Some Older / Obsolete

The Arduino package from arduino.cc works well too. Make sure the packages avrdude, rxtx-java, avr-libc, (cross-)avr-binutils and (cross-)avr-gcc are also installed.

Newer gcc versions

Instead of using gcc 4.3.3 (in cross-avr-gcc), you may also install package avr-gcc-462. If you then run run-avr-gcc-462 arduino your programs will be compiled with gcc 4.6.2, which has better optimisations and gives shorter programs. If it doesn't work, run arduino again to compile with gcc 4.3.3 as before.

Generally speaking, run-avr-gcc-462 is a wrapper script that prep-ends the directory containing gcc 4.6.2 to the path and runs the program given as its argument.

There are other gcc versions to try, but 4.4 and 4.5 are probably not so useful. 4.6 is required for using LTO (even more optimisations), but that's a more advanced topic and will not work with the Arduino IDE until that acquires capability to add more compiler options.

Repository with updated AVR rpms:

This is necessary for using the ATmega328 chip !

http://download.opensuse.org/repositories/CrossToolchain:/avr/

After adding the appropriate openSUSE version repo with YaST, just install as usual.

Necessary standard packages:

  • avrdude
  • avr-libc
  • cross-avr-binutils
  • cross-avr-gcc

Install the packages with YaST as usual.

Add symlinks the Arduino IDE can't find avr-gcc:

avr-gcc is installed to /opt which may be outside the default path on older releases. A few symlinks to /usr/local/bin solve this issue. On openSUSE 11.2 it just works out of the box.

Create symlinks as root:

find /opt/cross/bin/ -iname "avr*" -exec ln -s -t /usr/local/bin/ {} \;

Java rxtx library for 64bit systems

Related post on the forum

Get the rpms from openSUSE repositories: openSUSE 11.0 11.1 11.2

First install the rpm package. Then change to your arduino folder and remove the supplied ./lib/librxtxSerial.so and replace it with a symlink (as root):

ln -s /usr/lib/librxtxSerial.so

Starting the Arduino IDE:

You can start the IDE by running the shell script 'arduino' from the console, or if you prefer the point/click method and happen to use KDE, just create a 'Link to Application...' with the 'arduino' shell script as the target.

Issues with avr-gcc:

  • NewSoftSerial doesn't compile

Viewing debug messages:

For viewing debug messages (build/upload) and error messages, the IDE must be started from a console. The IDE stores its settings in the file '$HOME/.arduino/preferences.txt'. To enable verbose output, change these flag accordingly:

build.verbose=true

upload.verbose=true

Tested versions of openSUSE:

  • 10.3 / 11.0 / 11.1 / 11.2


In case you run the IDE in a virtual pc using VirtualBox here's some info:

Changes to allow users to run VirtualMachines:

When installing the VirtualBox rpm package from www.virtualbox.org, a new usergroup called 'vboxusers' is created automatically.

Users must be member of this group.

The current group membership can be looked up by typing the command id in a console. Adding a user to the group 'vboxusers' can be done with YaST or by running

usermod -A vboxusers some_user_name

as root. The current X session must be restarted to make it work.

Changes to allow user access to USB on the host:

When using up-to-date releases of VirtualBox, these steps are not necessary anymore.

VirtualBox requires '/proc/bus/usb' to be mounted to allow the VMs access to the USB ports of the host. One part of the solution is to add a single line to '/etc/fstab'

none /proc/bus/usb usbfs defaults,user,devgid=1000,devmode=0660 0 0

The flag 'user' enables ordinary users to mount it. Unfortunately adding this line does NOT automount it at system startup, hence the 'user' flag. 'devgid=XXXX' must be set to the numerical group-id of 'vboxusers'. 'devmode=0660' enables (rw) access to the USB ports for root and all group members.

As the VirtualBox service is started by init scripts before '/proc/bus/usb' is mounted, some user intervention is necessary once after a system startup:

mount /proc/bus/usb

sudo /etc/init.d/vboxdrv restart

Of course, this could be put into a small bash script or hacked into the startup scripts. -}

Share