diff --git a/arduino-linux-setup-15.sh b/arduino-linux-setup-15.sh
new file mode 100644
index 0000000..f0aa3f6
--- /dev/null
+++ b/arduino-linux-setup-15.sh
@@ -0,0 +1,382 @@
+#!/bin/bash
+# arduino-linux-setup.sh : A simple Arduino setup script for Linux systems
+# Copyright (C) 2015 Arduino Srl
+#
+# Author : Arturo Rinaldi
+# E-mail : arty.net2@gmail.com
+# Project URL : https://github.com/artynet/arduino-linux-setup
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+#
+# Release v15 changelog :
+#
+# + Fixed the bug that can't uninstall ModemManager and install uucp in openSUSE
+#
+# Release v14 changelog :
+#
+# + Installing uucp package for different Linux distros
+# + Rewriting UDEV rule for STM32 bootloader mode
+#
+# Release v13 changelog :
+#
+# + Disabling serial port HW flow
+#
+# Release v12 changelog :
+#
+# + Improving rules for DFU mode
+#
+# Release v11 changelog :
+#
+# + Fixing ModemManager removal for Fedora Core
+# + Adding Atmel ICE Debugger CMSIS-DAP rule
+#
+# Release v10 changelog :
+#
+# + Adding support for Slackware
+# + Changed distribution not supported message
+# + Changed distribution check sort order (thanks to thenktor @github.com)
+# + Small fix for ArchLinux
+#
+# Release v9 changelog :
+#
+# + Adding support for ArchLinux
+# + Adding support for systemd
+# + Fixing a couple of wrong kernel entries
+#
+# Release v8 changelog :
+#
+# + rules are now created in /tmp folder
+#
+# Release v7 changelog :
+#
+# + Adding project URL
+# + minor bugfixing
+#
+# Release v6 changelog :
+#
+# + removing sudocheck function and control
+#
+# Release v5 changelog :
+#
+# + adding UDEV rule for stm32 DFU mode
+#
+# Release v4 changelog :
+#
+# + The rules are generated in a temporary folder
+#
+# + the user should run it without sudo while having its permissions
+#
+# Release v3 changelog :
+#
+# + The most common linux distros are now fully supported
+#
+# + now the script checks for SUDO permissions
+#
+
+#!/bin/bash
+
+# if [[ $EUID != 0 ]] ; then
+# echo This must be run as root!
+# exit 1
+# fi
+
+refreshudev () {
+
+ echo ""
+ echo "Restarting udev"
+ echo ""
+
+ sudo udevadm control --reload-rules
+ sudo udevadm trigger
+
+ if [ -d /lib/systemd/ ]
+ then
+ sudo systemctl restart systemd-udevd
+ else
+ sudo service udev restart
+ fi
+
+}
+
+groupsfunc () {
+
+ echo ""
+ echo "******* Add User to dialout,tty, uucp, plugdev groups *******"
+ echo ""
+
+ sudo groupadd tty
+ sudo groupadd dialout
+ sudo groupadd uucp
+ sudo groupadd plugdev
+
+ sudo usermod -a -G tty $1
+ sudo usermod -a -G dialout $1
+ sudo usermod -a -G uucp $1
+ sudo usermod -a -G plugdev $1
+
+}
+
+acmrules () {
+
+ echo ""
+ echo "# Setting serial port rules"
+ echo ""
+
+cat < /tmp/90-extraacl.rules
+
+ openocdrules > /tmp/98-openocd.rules
+
+ avrisprules > /tmp/avrisp.rules
+
+ dfustm32rules > /tmp/40-dfuse.rules
+
+ dfuarduino101rules > /tmp/99-arduino-101.rules
+
+ usbgenericrules > /tmp/00-usb-permissions.rules
+
+ hardwareflowdisable > /tmp/uucp-port
+
+ sudo mv /tmp/*.rules /etc/udev/rules.d/
+
+ sudo mv /tmp/uucp-port /etc/uucp/port
+
+ refreshudev
+
+ echo ""
+ echo "*********** Please Reboot your system ************"
+ echo ""
+fi