Rotate Pimoroni Hyperpixel 90°

Display Rotation

First change display rotation in /boot/config.txt


Edit Hyperpixel touch driver

Then you need to edit the touch driver. Luckily it is a python script. I have the Information from here But the script has changed.

sudo nano /usr/bin/hyperpixel-touch

So here are my changes.

In the upper part Exchange 480 by 800 and viceversa:

(e.ABS_X, AbsInfo(value=0, min=0, max=480, fuzz=0, flat=0, resolution=1)),
        (e.ABS_Y, AbsInfo(value=0, min=0, max=800, fuzz=0, flat=0, resolution=1)),
        (e.ABS_MT_SLOT, AbsInfo(value=0, min=0, max=1, fuzz=0, flat=0, resolution=0)),
        (e.ABS_MT_TRACKING_ID, AbsInfo(value=0, min=0, max=65535, fuzz=0, flat=0, resolution=0)),
        (e.ABS_MT_POSITION_X, AbsInfo(value=0, min=0, max=480, fuzz=0, flat=0, resolution=0)),
        (e.ABS_MT_POSITION_Y, AbsInfo(value=0, min=0, max=800, fuzz=0, flat=0, resolution=0)),

and in the lower part Exchange x and y and add flipping the coordinates.

write_status(y1,800- x1, touch_one_start is not None, y2, 800-x2, touch_two_start is not None)

Restart hyperpixel touch daemon

sudo systemctl restart hyperpixel-touch

Raspberry Pi autostart chromium on login

To autostart chromium on start / boot, without Desktop Environment, you have to do the following:

1. Install Chromium
My tutorial to install chromium an Raspberry Pi without desktop Environment.

2. Use raspi-config to configure

sudo raspi-config

-> Boot Config
–> Desktop / CLI
—> Console Autologin

2. Add your start script at the end of „.bashrc“
Mine is

xinit /home/pi/

Don’t forget the xinit.

My startscript Looks like this:

# Turn off HDMI to safe energy
sudo /opt/vc/bin/tvservice -o
# I want no Cursor, but this doesn't work
# Rotate touch input by 90°
matchbox-window-manager -use_cursor no -use_titlebar no &
xinput set-prop 'FT5406 memory based driver' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1
# Power saving and screensaver after 2 minutes
xset dpms 120 120 120
# watch gpio pin for Motion sensor and start chromium with some options
gpio-watch -e rising 4&
chromium-browser  --fast --fast-start --disable-popup-blocking --disable-infobars --kiosk --incognito  --disable-session-crashed-bubble --touch-events=enabled --allow-running-insecure-content https://yoururl/

Raspberry Pi: Rotate Official Touch Display by 90°

I wanted to rotate my Rasperry Pi Touch Display by 90 degrees. But I noticed this isn’t possible via boot parameters in the config.txt file.

It is possible to rotate the display in config.txt, but the touch input will not work correctly. There is also a change in the newest raspbian xinput driver releases.

xinput set-prop 'FT5406 memory based driver' 'Evdev Axes Swap' 1

does NOT work anymore.

So here is the solution:

1. Rotate Display in /boot/config.txt
Add line:


2. Install xinput

sudo apt-get install xinput

3. Find your Driver

xinput --list

Or over SSH:

DISPLAY=:0 xinput --list

4. Rotate touch input via xinput
You need to matrix transform the input coordinates

xinput set-prop 'FT5406 memory based driver' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1


Exit screensaver on Raspberry Pi with motion sensor


I want to build a smart home display for my living room. Additionally it should go to to sleep/screensaving automatically and I want it to wake up if someone walks by.

So I buyed a cheap infrared PIR motion sensor.
Something like this:
Look at amazon

Then I connected it to 5V, GND and GPIO Pin 4:
Search Google for images

And now the software part

I tried some Python scripts but for my case these were not robust enough. To exit the screensaver you Need to execute some console commands.

First: Configure screensaver

xset dpms 120 120 120

This sets the screensaver and power management to power off after 2 minutes

Second: Exit screensaver from console

xset s reset
xset dpms force on

This code resets the timer and brings on power again.

Third: Do it on GPIO event
After some Fails I found GPIO-Watch, a small utility that watches GPIO events and executes shell scripts.


1. Download


2. Unzip

unzip ./

3. Enter Directory

cd gpio-watch-master

4. Build

sudo make install


1. Create a script named „4“ under /etc/gpio-watch because gpio-watch will later execute this on rising on GPIO pin 4.
2. Put your commands into the script

#echo 'set on'
xset s reset
xset dpms force on

3. Let gpio-watch watch your Pins

gpio-watch -e rising 4

Installing Chromium on Raspberry Pi without desktop

Start with a Rasbian light version.
Install chromium and x-server

sudo apt-get install chromium-browser
sudo apt-get install xserver-xorg
sudo apt-get install xinit

If you now start chromium-browser it will show the following error:

Failed to put Xlib into threaded mode.

Gtk-WARNING cannot open display

this is because you have to start it with xinit:

xinit chromium-browser

Chromium will start, but you will need a minimal window manager.

sudo apt-get install matchbox-window-manager

Now you need a shell script to start your chromium

sudo nano

Insert the following lines, Exit with ctrl+x, Y and Enter.

matchbox-window-Manager -use_cursor no&
chmod +x

Start it now with:

xinit ./

Add Chromium options as you like. E.g. –Kiosk –allow-running-insecure-content plus your URL


Infotainment Gesture-Control

Lately we worked at EDAG on testing gesture control. We, that’s Adrian my trainee and me. Yeah and the hand you can see there is mine. 😉


Silent Meditation Timer for a Singing Bowl

In 2014 I had another idea about a meditation timer for singing bowl (Klangschale). A clapper which automatically hammers after a specified amount of time.

I had some features in mind:

  • It needs to fit on a wide range of bowls.
  • The mechanics needs to be silent.
  • The timer needs to be adjustable
  • Maybe it can also bell in adjustable time intervals, like Tich Nhat Hanh’s mindfullness bell

Motors, servos and solenoids are all too noisy. So I made some research and found electric muscles. I ordered two from sparkfun. And I made some scribbles how it can look like.

I think it would be nice that the time can set by a rotary encoder, combined with a little display, maybe 7-segment led or a small oled, like in the MicroView

The latest thing I made is a paper prototype with a simple button. I was amazed, the mechanics works perfect. And it’s really silent.


The click in the video is just the button press. The NanoMuscle itself is very silent.


New Enclosure for my Knob

In 2013 I started designing a nice enclosure for my knob. But unfortunately I never finished it. I designed it by layering laser cutted acrylic glas.

It has the followong features:

  • Li-Po battery power
  • Wireless charger
  • Stand for iPad and iPad mini
  • Bluetooth Audio connection

Here are the vector files which i have used for cutting.