diff --git a/IM520/createImages b/IM520/createImages
new file mode 100755
index 0000000000000000000000000000000000000000..1582ff12db947c33b9aef4edaa9360cec05bcba2
--- /dev/null
+++ b/IM520/createImages
@@ -0,0 +1,73 @@
+#!/bin/bash
+#
+# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-03-31
+#
+# Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern
+# neue Messgeräte-Bilder mit zufälliger Anzeige
+#
+
+MAIN="IM520" # device name
+IMAGE_DIR=./images
+MAX_FILES=10
+MAX_DIGITS=5 # do not edit!
+
+rm -rf "$IMAGE_DIR"
+mkdir -p "$IMAGE_DIR"
+
+dotFile='dot.png'
+minusFile='minus.png'
+emptyCanvas='xc:transparent'
+
+digitFile[0]='digit-0.png'
+digitFile[1]='digit-1.png'
+digitFile[2]='digit-2.png'
+digitFile[3]='digit-3.png'
+digitFile[4]='digit-4.png'
+digitFile[5]='digit-5.png'
+digitFile[6]='digit-6.png'
+digitFile[7]='digit-7.png'
+digitFile[8]='digit-8.png'
+digitFile[9]='digit-9.png'
+digitFile[99]=$emptyCanvas # empty canvas
+
+digitPos[1]='+272+160'
+digitPos[2]='+296+160'
+digitPos[3]='+313+160'
+digitPos[4]='+360+160'
+digitPos[5]='+375+160'
+
+for ((FNb=1; FNb<=MAX_FILES; FNb++)); do
+
+for (( i=1; i<=$MAX_DIGITS; i++ )); do 
+  DNR[$i]=$((RANDOM % 10)) # random digit number (0..9)
+  eval DIGIT$i=${digitFile[ ${DNR[i]} ]}
+done 
+
+value="${DNR[1]}.${DNR[2]}${DNR[3]}E-${DNR[4]}${DNR[5]}"
+
+fname="$IMAGE_DIR/$MAIN@$value@.png"
+
+convert body.png \
+  $DIGIT1  -geometry ${digitPos[1]}  -composite \
+  $DIGIT2  -geometry ${digitPos[2]}  -composite \
+  $DIGIT3  -geometry ${digitPos[3]}  -composite \
+  $DIGIT4  -geometry ${digitPos[4]}  -composite \
+  $DIGIT5  -geometry ${digitPos[5]}  -composite \
+  $fname
+
+exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname
+
+echo -e "$FNb:\t$fname"
+
+done # MAX_FILES
+
+exit
+  
+-----------------------------------------------------------------------
+
+Auslesen der Exif-Daten:
+exiv2 -g Exif.Image.ImageDescription -P v ./images/151.108@GERAET_X.png
+--> value=151.108
+
+exit
+