Plagiarism of one of my old articles

Just over Ten years ago, in February 2014, I wrote an article on how to connect an Arduino Uno to a Raspberry PI using I2C directly without using a level shifter between them – which would normally be needed due to the PI running on 3.3V whilst the Arduino is 5V.

This morning I came across this blog article by Adafruit posted some 9 months later which looked eerily familiar to that article but was on someone else’s blog.

The link is now dead due to bit rot and the domain is now on a holding page, so I did a search on WaybackMachine and found the original article which was posted on November 12, 2014.

Note: the page is unreadable, but if you go into the browsers inspection tools, find the body element and disable the background-color and background-image css styles, the page is then readable.

At first glance, it looks like they were trying to do exactly what I originally did, but as I continued to read it, comparing it against my original article, other than the odd word being changed, and the section configuring the PI for I2C is different, it’s virtually a copy-n-paste of my original article.

After that configuring section there’s then two sections of C source code, one for the Arduino and one for the PI which are completely identical to mine.

They even left this comment in the PI source which mentions PiWeather, which is the project name for my Weather Station, which this was why I was looking at using I2C:

// The PiWeather board i2c address
#define ADDRESS 0x04

The only differences after that is where they’ve added an image on the wiring, changed a few words or values from when they ran it, but it’s then virtually word for word the same.

Now I don’t mind if anyone picks up on anything I write on the blog, but I do mind if they just take the entire article as-is and make it look like it’s their own work. Even though their article is no longer accessible, it’s on the WaybackMachine which is good as I’ve managed to dig down and discover what they had done.

References:

Turning the backlight off on the Raspberry PI 7″ touch screen

When I first setup Home Assistant here, I did so on a Raspberry PI 4B with a Phoscon RaspBee II ZigBee interface attached. It also has the official Raspberry PI 7″ touch screen, so it’s mounted high up on my Kitchen wall as that’s in a central location in the House.

Recently, as Home Assistant was under-performing, I rebuilt Home Assistant as a virtual machine within my ProxMox cluster, but the PI still manages the ZigBee connection via Zigbee2MQTT and a touch screen interface for HA – I also have several tablets wall mounted around the house doing the same thing.

However, as the PI is wall mounted it’s also powered via PoE and recently the PI’s started to report under-volt warnings as the PoE has started to provide less power than the PI needed.

So, as a temporary solution to this, until I can replace the power supply with either better PoE or a direct supply, the solution was to turn off the most power hungry device attached to the PI, which is the touch screen’s backlight.

So to turn off the backlight, simply run the following on the PI:

sudo sh -c 'echo "1" > /sys/class/backlight/rpi_backlight/bl_power'

This instantly turns off the backlight and, since I did this several days ago there’s been no under-volt warnings reported by the PI.

Note: Confusingly the 1 here turns the backlight off. Using 0 would turn it back on, the opposite to what you might expect.

Getting the Raspbery PI Official Touchscreen to work with RaspiOS Bookworm

Yesterday the latest RaspiOS was released based on Debian Bookworm. This is the version of the OS which will support the forthcoming PI5 but as before it supports every previous version of the PI.

There’s quite a few changes to this, mainly the use of Wayland as the main window manager & back-end rather than the venerable X11 which we have used for decades in the *nix world.

So today I upgraded one of my PI4’s to the new OS by flashing the SD card with the fresh image to see what’s changed and it does look pretty good.

Except, the PI I used was one of the few I have with the official Touchscreen’s attached.

When the PI booted bookworm for the first time all looked well. The display worked fine and it entered the initial configuration fine – except there was no touch. I had to attach a mouse to it so I could complete the process.

Now I had a similar issue before with Bullseye which I remembered was down to some changes within /boot/config.txt so I compared that with another of the touchscreens which I happen to run HomeAssistant on.

So Bookworm has this:

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

But the working PI has those commented out, so I changed it to:

# Enable DRM VC4 V3D driver
#dtoverlay=vc4-kms-v3d
#max_framebuffers=2

Then rebooted and the PI just had a blank screen.

Fortunately I always enable SSH so logged in and ran sudo raspi-config

In there under 6 Advanced Options there’s A6 Wayland which now controls which backend to use for the desktop. In Bookworm it now defaults to Wayland on the PI4 & soon PI5, so I switched it to W1 X11.

The option to set to use X11 instead of Wayland

Rebooted and we now have a desktop, but also the touch screen now worked.

So, for now at least you cannot use Wayland with the Official touch screen.

As the same drivers are used for other touchscreen’s out there for the PI this could also affect other makes of screens as well – many of them use the same chipset as the official one.