Loading...

Easy Installation of The Arduino IDE

openSUSE - all versions

For all versions of openSUSE that are currently maintained (11.4, 12.1 and 12.2), 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, open YaST, select the "Security and Users" section and open the "User and Group Management" module. Once here, add each user to the groups: "dialout", "lock" and "uucp" in order for them to make use of the IDE.

  • Log out and log in.

  • Then run arduino in your favourite terminal.

Additional Steps Some Users Found Necessary

  • Group membership and permissions of /var/lock probably need to be adjusted to make it work. This is the case if the serial port in the IDE's menu is grayed out. As there are issues with /etc/permissions in 11.4 and 12.1, you need to apply a little hack. Edit or create the system file /etc/init.d/boot.local and add the following. This makes sure this stays correct even after system updates:

    chmod 775 /var/lock
    chown root.lock /var/lock

    To activate run boot.local as root or reboot your system.

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 (11.4, 12.1 and 12.2), 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 "Development" / "Integrated Environment".

Installation of Arduino IDE (32bit and 64bit) via The Command Line on Older openSUSE Releases

openSUSE 12.1

Via command line, as root

(every bullet point is one line)

In Yast add the user to the groups lock, uucp, dialout and tty

  • log out and log in

Then run arduino

openSUSE 11.4

Via command line, as root

(every bullet point is one line)

In Yast add the user to the groups lock, uucp, dialout and tty.

  • log out and log in

Then run arduino

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.

openSUSE 11.3

Via command line, as root

(every bullet point is one line)

Also add the user to the groups lock, uucp, dialout, and tty

Then run arduino

However, this might install an avrdude that does not recognise the arduino processor. If avrdude produces a "Yikes! Invalid device signature" message when you upload a sketch, that's possibly what has happened. In that case, use YaST to remove the avrdude package, which will also remove the arduino package (due to dependencies). However, it should leave in place avr-gcc, libraries etc. Then download the arduino software from the main site - http://arduino.cc/en/Main/Software - and that should bring in an avrdude that works.

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.

Older Builds of the Arduino IDE

For release 012, there are dedicated version for 32bit and AMD64 available here and on the mirrors.

For the installation of an Arduino-release 0018 on an openSUSE 11.2 (x86_64), the impatient can find a related 12-step installation-HOW-TO at the forum

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

Changes to allow user access to com ports:

As devices are created on the fly by UDEV, using chown/chmod on /dev/ttyS0 ... /dev/ttyUSB0 ... will not be enough to grant access rights. Also some applications require write access to /var/lock (e.g. minicom, console terminal software) and will not work properly without that.

On openSUSE systems users get the proper access rights (rw) by putting them into the UUCP group (pre 11.2) or DIALOUT + UUCP group (as of 11.2). DIALOUT membership grants write access to serial ports, UUCP membership allows for lock-file generation in /var/uucp. This can be done with YaST or on the console by:

usermod -A dialout some_user_name

If this is done while running an X session as said user, X must be restarted to update group membership (logoff/logon).

It is also necessary for the IDE to run properly, that it can create a lockfile for the serial port in the /var/lock directory. Permissions must be changed to account for that. A stock installation of 11.2 should have these perms:

drwxrwxr-t 7 root root 4096 4. Apr 17:32 lock

which must be changed to rwx-rwx-rwt like so:

chmod o+rwx /var/lock

As the temp-flag (t) is set, files can only be deleted by their owners, although they may have rwx-rwx-rwx permissions. Everything should be safe.

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. -}