diff --git a/hints.md b/hints.md
index 1bcb4f17f7e12ac845d0a2fb73e95b8569e02cd1..77de5cd1250ed79c4f32d833c06af23d1bb45e34 100644
--- a/hints.md
+++ b/hints.md
@@ -6,6 +6,50 @@ for developers to do various task inside the installed SECO North Yocto.
 This is a growing document and not ment to reach any state of completeness
 like a manual, or similar.
 
+[[_TOC_]]
+
+## Audio
+
+### Play sound
+```
+aplay /usr/share/sounds/alsa/*
+```
+
+### Play click sequence
+```
+wget -P /tmp/ http://support.garz-fricke.com/projects/TestFiles/Audio/short_click_4_times.wav
+aplay /tmp/short_click_4_times.wav
+```
+
+### Qt QML audio playback
+```
+#Preparation
+systemctl stop seco-show-demo
+
+cat > /tmp/audio-playback.qml << 'EOF'
+import QtMultimedia 5.15
+import QtQuick 2.15
+
+Text {
+    text: "Click Me!";
+    font.pointSize: 24;
+    width: 150; height: 50;
+
+    Audio {
+        id: playMusic
+        source: "/usr/share/sounds/alsa/Front_Center.wav"
+    }
+    MouseArea {
+        id: playArea
+        anchors.fill: parent
+        onPressed:  { playMusic.play() }
+    }
+}
+EOF
+
+qmlscene /tmp/audio-playback.qml
+```
+
 ## Bluetooth
 
 Bluetooth is currently only basically supported.
@@ -16,22 +60,389 @@ Commands used for a basic hardware test:
 *Note*: There are devices which do not have R11 populated on the BT Uart's CTS line.
        These do not support bluetooth.
 ```
-# Verbinden des BT-Chips
+# Connect the BT-Chip
 rtk_hciattach ttymxc3 rtk_h5
 
 hciconfig hci0 up
 # Scan for other BT-devices
 hcitool scan
 ```
-
 This currently does not work with yocto kirkstone.
 
+## CAN
+### CAN test
+```
+# Counter part is running TestCAN_W32_2.0.2.0.exe -s -v1 -x4
+/opt/ltp/testcases/bin/can
+```
+
+## Display
+### Backlight Brightness
+The scripts sets the backlight brightness level to 0%, 50% and 100%. If required modify BL\_PATH for your system.
+```
+cat > /tmp/backlight-test.sh << 'EOF'
+#!/bin/sh
+BL_PATH=/sys/class/backlight/backlight/
+MAX_BRIGHTNESS=$(cat $BL_PATH/max_brightness)
+ACTUAL_BRIGHTNESS=$(cat $BL_PATH/actual_brightness)
+echo "max brightness value: $MAX_BRIGHTNESS"
+echo "actual brightness value: $ACTUAL_BRIGHTNESS"
+echo 0 > $BL_PATH/brightness
+sleep 2
+echo $(($MAX_BRIGHTNESS/2)) > $BL_PATH/brightness
+sleep 2
+echo $MAX_BRIGHTNESS > $BL_PATH/brightness
+sleep 2
+echo $ACTUAL_BRIGHTNESS > $BL_PATH/brightness
+echo "done"
+EOF
+
+sh /tmp/backlight-test.sh
+```
+
+### FB blank
+```
+echo 4 > /sys/class/graphics/fb0/blank
+sleep 2
+echo 0 > /sys/class/graphics/fb0/blank
+```
+
+### Weston rotation
+Set different output rotation values. It is assumed that only one output is present in weston.ini.
+```
+# Preperation
+systemctl stop seco-show-demo
+
+# 90 deg
+sed -i 's/transform=.*$/transform=rotate-90/g' /etc/xdg/weston/weston.ini
+systemctl restart weston
+weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
+
+# 270 deg
+sed -i 's/transform=.*$/transform=rotate-270/g' /etc/xdg/weston/weston.ini
+systemctl restart weston
+weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
+
+# 180 deg
+sed -i 's/transform=.*$/transform=rotate-180/g' /etc/xdg/weston/weston.ini
+systemctl restart weston
+weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
+
+# 0 degree
+sed -i 's/transform=.*$/transform=normal/g' /etc/xdg/weston/weston.ini
+systemctl restart weston
+weston-image /usr/share/seco-show-demo/images/icon-hw-info.png
+```
+
+## EEPROM (SANTARO, SANTOKA, SANTINO, SANTINO-LT)
+### EEPROM read
+```
+gfeeprom --show
+```
+### EEPROM write
+Before you run the write command verify the content of `eeprom-orig.txt`. **Otherwise the original eeprom values may get lost.**
+```
+# Perperation
+output=$(gfeeprom --show | grep "0-0050/eeprom ->")
+eval e=($(echo $output | sed -e 's/[>|()]//g' ))
+echo "[BEGIN]
+Controller Index = 1
+Device = ${e[1]}
+EEPROM Address = 0x${e[1]##*eeprom}
+Major Version = ${e[12]}
+Minor Version = ${e[14]}
+Article Number = ${e[7]}
+Serial Number = ${e[10]}
+Component = ${e[4]}
+Comment = ${e[16]}
+Verify = 0x1
+Force write = 0x1
+[END]" > /tmp/eeprom-orig.txt
+comment="Write test $(date)"
+sed "s/Comment =.*/Comment = ${comment}/" /tmp/eeprom-orig.txt > /tmp/eeprom-test.txt
+
+cat /tmp/eeprom-orig.txt
+
+# Write to eeprom and read back
+gfeeprom --program -sf /tmp/eeprom-test.txt
+gfeeprom --show
+
+# Restore original values
+gfeeprom --program -sf /tmp/eeprom-orig.txt
+```
+
+## Ethernet
+### DNS lookup test
+```
+nslookup north.seco.com
+```
+### iperf3
+Start the iperf3 echo server on a linux machine in the same network.
+```
+iperf3 -s -p 5201
+```
+Connect only the interface that is to be tested to the network.
+```
+iperf3 -c <hostname/ip of echo server machine> -p 5201
+```
+
+## HDMI
+### HDMI DRM device
+Check if a HDMI DRM device was created.
+```
+ls /sys/class/drm/ | grep HDMI
+```
+### HDMI modetest
+Use `modetest -c` and `modetest -p` to find out which connector and crtc values (\<connector\>@\<crtc\>) are appropriate for your system.
+```
+# Preperation
+systemctl stop weston
+
+modetest -M imx-drm -s 66@47:1280x800
+```
+
+## NFS
+### NFS client
+Change the variables `NFSSERVER` and `SERVERDIR` to match your configuration.
+```
+NFSSERVER=<hostname>
+SERVERDIR=/home/
+mkdir -p /tmp/mnt/nfs
+mount -t nfs $NFSSERVER:$SERVERDIR /tmp/mnt/nfs
+ls /tmp/mnt/nfs
+umount /tmp/mnt/nfs
+```
+
+## Power management
+### Standby mode wakeup from CPU internal RTC
+```
+echo +5 > /sys/class/rtc/rtc1/wakealarm && echo standby > /sys/power/state
+# The device should wake up after 5 seconds
+```
+### Standby mode wakeup from from serial interface
+```
+echo enabled > /sys/class/tty/ttymxc0/power/wakeup && echo standby > /sys/power/state
+# Device has to wake up after keypress on the serial console
+```
+### Deep sleep mode wakeup from CPU internal RTC
+```
+echo +5 > /sys/class/rtc/rtc1/wakealarm && echo mem > /sys/power/state
+# The device should wake up after 5 seconds
+```
+### Deep sleep mode wakeup from from serial interface
+```
+echo enabled > /sys/class/tty/ttymxc0/power/wakeup && echo mem > /sys/power/state
+# Device has to wake up after keypress on the serial console
+```
+
+## Python3
+### Python3 web certificates
+This test ensures that certificates are installed on the system and openssl and python have access them.
+```
+echo -e "import urllib.request\nprint(urllib.request.urlopen('https://www.google.com'))\n" | python3
+# Expectet output something like <http.client.HTTPResponse object at 0xb6095e38>
+```
+### pip3 functionality
+This test ensures that python 2 and python 3 on the system are complete enough to allow installation of additional packages via pip.
+```
+pip3 install virtualenv
+# Expected output  something like: Successfully installed distlib-0.3.6 filelock-3.8.0 platformdirs-2.5.4 virtualenv-20.17.0
+```
+
+## Qt5
+### OpenGl ES
+```
+# Preperation
+systemctl stop seco-show-demo
+
+qt5-opengles2-test
+# When you touch the display, a rectancle should show up under the finger
+```
+### Qt Kiosk Browser & Qt Virtual Keyboard
+```
+# Preperation
+systemctl stop seco-show-demo
+
+sed -i 's/"URL":.*$/"URL": "https:\/\/north.seco.com\/suchen?",/' /etc/qt-kiosk-browser.conf
+qt-kiosk-browser /etc/qt-kiosk-browser.conf --no-sandbox
+# You can verfiy the virtual keyboard functionality by clicking the search field and entering text
+```
+
+## RS232
+### RS232 #2
+Start a console on the second RS232 interface if present.
+```
+setsid getty -L 115200 ttymxc1 vt100
+```
+
+## RS485
+### RS485 Full Duplex
+Connect two SECO-NE devices using an RS485 full duplex cable.
+```
+# Start echo Server on device #1
+/opt/ltp/testcases/bin/rs485echo -n -e -s 115200 -b 64
+# Send messages from device #2
+/opt/ltp/testcases/bin/rs485echo -n -s 115200 -b 64
+```
+### RS485 Half Duplex
+Connect two SECO-NE devices using an RS485 half duplex cable.
+```
+# Start echo Server on device #1
+/opt/ltp/testcases/bin/rs485echo -e -s 115200 -b 64
+# Send messages from device #2
+/opt/ltp/testcases/bin/rs485echo -s 115200 -b 64
+```
+
+## RTC
+### RTC write
+Disconnect all network interfaces.
+```
+# Set date (02.01.2000) as system time and write it to RTC
+date 0102000000
+hwclock --systohc
+
+# Read system time
+date
+# Read RTC
+hwclock
+# The result should look like: Sat Jan 2 00:00:00 2000 0.000000 seconds
+```
+
+## sconfig
+### sconfig read
+```
+sconfig
+```
+### sconfig set value
+At the moment sconfig values can not be modified.
+
+## SD-Card
+### SD-Card read and write
+Plug in a SD-Card with at least one partition in fat32 format.
+```
+mount /dev/mmcblk1p1 /mnt/
+# Verify mount
+mount | grep mmcblk1p1
+# Write
+echo "Test data" > /mnt/testfile
+# Read
+cat /mnt/testfile
+```
+
+## SFTP
+The SFTP server is running by default.
+### SFTP connection
+Connect to the device's SFTP server using the `sftp` command.
+```
+sftp root@<device-ip>
+```
+
+## SSH
+The SSH server is running by default.
+### SSH connection
+Connect to the device's SSH server using the `ssh` command.
+```
+ssh root@<device-ip>
+```
+
+## Temperature Sensors
+### Temperature read
+For on-board sensors like LM75:
+```
+cat /sys/class/hwmon/hwmon0/temp1_input
+```
+SOC temperature/s:
+```
+cat /sys/class/thermal/thermal_zone*/temp
+```
+
+## Touch
+### fingerpaint
+```
+# Preperation
+systemctl stop seco-show-demo
+
+fingerpaint
+```
+### fingerpaint rotated by 90 deg
+```
+# Preperation
+systemctl stop seco-show-demo
+
+sed -i 's/transform=.*$/transform=rotate-90/g' /etc/xdg/weston/weston.ini
+systemctl restart weston
+fingerpaint
+```
+
+## USB
+### USB Host read and write
+Plug in a USB-Stick with at least one partition in fat32 format.
+```
+mount /dev/sda1 /mnt/
+# Verify mount
+mount | grep sda1
+# Write
+echo "Test data" > /mnt/testfile
+# Read
+cat /mnt/testfile
+```
+### Serial console on USB OTG port (SANTARO, SANTOKA, SANTINO, SANTINO-LT)
+Start a console on the USB OTG port.
+```
+modprobe g_serial
+setsid getty -L 115200 ttyGS0 vt100
+```
+
 ## Video playback
 
+### MPEG2 playback
+```
+# Preperation
+systemctl stop seco-show-demo
+
+curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-mpeg2-stereo.mpg > /tmp/video
+gst-play-1.0 /tmp/video
+```
+
+### MPEG4 ASP playback
+```
+# Preperation
+systemctl stop seco-show-demo
+
+curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-mpeg4-stereo.mp4 > /tmp/video
+gst-play-1.0 /tmp/video
+```
+
+### MPEG4 AVC playback
+```
+# Preperation
+systemctl stop seco-show-demo
+
+curl http://support.garz-fricke.com/projects/TestFiles/Videos/cc-BigBuckBunny-Trailer-800x448-h264-stereo.mp4 > /tmp/video
+gst-play-1.0 /tmp/video
+```
+
 ### VP9 playback from qml
 
 ```
+# Preperation
+systemctl stop seco-show-demo
+
 qmlscene /opt/ltp/scripts/video_playback.qml
 ```
 
+## Watchdog
+### Watchdog test
+```
+/opt/ltp/testcases/bin/watchdog-test
+```
 
+## WiFi
+### Scan wireless networks (nmcli)
+```
+nmcli dev wifi list
+```
+### Connect to wireles network (nmcli)
+```
+nmcli dev wifi connect <ssid> password "<password>"
+```