I just hope you will enjoy this weblog the next year as much as you did this year.
For an index to all my stories click this text
It's almost Christmas and the time for buying presents is there.
If you have a relative or friend who is interested in electronics and the internet of things here are some suggestions to help them starting. There is still some time to get them delivered in time.
The books can be bought from your local bookstore or through Amazon who ships world wide. My Dutch books can be bought through BOL or your local bookshop.
Buying one of these books helps supporting this weblog.
Raspberry Pi Pico Simplified
There is a short course in programming in MicroPython.
Next a myriad of topics are addressed like adding buttons to your projects, adding leds, fading leds with PWM, the DS18B20 digital thermometer, using an LDR to measure light intensity, using a potmeter, attaching a servo motor, working with mains by using a relay, touch sensors, controlling a motor, making sound with a buzzer, neopixel addressable leds, motor control with an H-bridge, movement detection with a PIR or a RCWL-0516 radar, measuring distance, using a tilt sensor and vibration detection, displaying your data on a TM1637, using a rotary decoder and displaying data on an Oled screen.
Every chapter has detailed build instructions and example programs.
Raspberry Pi Pico W Simplified
Click here for more info or to buy the book
This book can be used with the Raspberry Pi Pico W and the new Pico W 2.
Most topics from the Raspberry Pi Pico Simplified book are discussed in this book. But this edition adds information about the Wifi capabilities of the Pico W. After explaining how the basic sensors work the book shows how to connect the Pico W to your home network. Then it discusses Ping which is used to test if devices are on-line or if anyone is at home. With urequests data is fetched from servers on the internet. Sending data to an online cloud service (Thingspeak) and obtaining the data is discussed. The book shows how to send notifications (if a door is open or a temperature has been reached etc) to your phone using Pushbullet. And it shows how to send messages to Telegram. A chapter is dedicated to Dweet a simple messaging service to which data can be send and retrieved from. And there is of course attention to building a webserver that shows sensor data (like button state, temperature etc.)
ESP32 Simplified
Click here for more info or to buy the book
Basically this is the same book as Raspberry Pi Pico W Simplified. The difference is that this book uses the Arduino IDE and the C++ programming language instead of MicroPython. This was the first book I wrote and some information is outdated. You can find updates for those parts on this weblog. The most part is still current.
ESP32 Uitgelegd is ook in het Nederlands verkrijgbaar. Klik hier voor meer info en om te bestellen
Javascript tips
Click here for more info or to buy the book
This book does not teach you how to program in Javascript. it is an aid to programming Javascript. The book offers more than 500 tips that make programming Javascript easier. There are tips on working with numbers, working with strings, working with date, working with arrays, working with objects. Tips on functions, communication. Some tips are in the category various as they did not fit in one of the mentioned chapters. And there are lots of tips on manipulating HTML.
Javascript tips is ook in het Nederlands verkrijgbaar. Klik hier voor meer info en om te bestellen
Til next time
have fun !!!
Luc Volders
For an index to all my stories click this text
In 2021 my book about the Raspberry Pi Pico was published. At that time MicroPython was at version 1.14. In the book there is a chapter that describes how to use neopixels with the Pico and MicroPython. You needed to download a library from github to get the neopixels working.
In later versions of MicroPython (starting at version 1.18) there is a neopixel library build in !! It is mentioned in the second row at the 4th line.
This does not mean that you can not use the "old" library that is discussed in my book. Actually the library discussed in the book has much more commands for working with neopixels as the build-in library nowadays has.
- strip.fill(r, g, b) fills the complete strip with a color
- strip.set_pixel_line(x, x, r, g, b) fills a range of pixels with a color
- strip.rotate_right(n) rotates all pixels n places right
- strip.rotate_left(n) rotatres all pixels n places left
These commands are all missing from the build-in library. Well except for one, on which later more.
Which commands are available.
First we need to load the needed libraries with:
from machine import Pin from neopixel import NeoPixel
pin = Pin(4, Pin.OUT)
import machine, neopixel ring = neopixel.NeoPixel(machine.Pin(4), 12) import time while True: for i in range(12): ring[i] = (60, 0, 0) ring[i-1]=(0,0,0) ring.write() time.sleep(.2)
For an index to all my stories click this text.
In a previous story I showed how to work with led filament. These are rigid tubes that contain leds in one color and can be used for lots of projects. You can read that story here: https://lucstechblog.blogspot.com/2025/11/led-filament-first-look.html
There is however also a flexible version available. These usually consist of micro LED diodes mounted on a flexible metal base, coated with silicone for protection. They are constructed in a way that it looks as if the light of the leds shine 360 degrees. The back side of the strip though looks less bright as the front.
The led filament is indeed flexible. Bending the strip to sharp will break it. So no 90 degree corners, just a smooth bend.
Please note each of these led filaments have 1 color. They are not like ledstrips or neopixels. They have a fixed color. So make sure you order the ones you need.
Beware of the contacts.
# ------------------------------------------- # simple test for setting filament on and off # ------------------------------------------- from machine import Pin import time filament = Pin(16, Pin.OUT) while True: filament.value(1) time.sleep(1) filament.value(0) time.sleep(1)
# ------------------------------------- # test program for dimming led filament # with PWM # ------------------------------------- import machine import time filament = machine.PWM(machine.Pin(16)) filament.freq(1000) while True: min = 0 max = 65536 for i in range(min,max): filament.duty_u16(i) time.sleep(.0001) #time.sleep(.5) for i in range(max,min,-1): filament.duty_u16(i) time.sleep(.0001) #time.sleep(.2)
For an index to all my stories click this text
This story is about the rigid led filament. There is also a flexible version which will be discussed in an upcoming story.
I saw on the internet something that looks like a small led strip. They have several names: Led Filament, Cob Led Filament and Edison bulb led parts.
I opted for the 2N2222
In real life.
In real life I did some experiments and found that a 100ohm resistor already supplied so much current that the ledstrip was very bright and could even be seen in broad daylight.
Let me do the recalculations for you.
5V - 3V
----------
X ma
This should equal 100 Ohm
So 5-3 / X ma = 100 this gives 2 / 100 = 0.02A = 20 Ma.
Using a 2N2222 transistor I should be able to attach easily 10 led filaments (10 x 20ma - 200ma) to 1 IO pin of the microcontroller.
There is one extra calculation and that is the calculation for the resistor that needs to be attached to the base of the 2N2222 and that defines how much the output will be. I will not bother you with these calculations. But if you mail me I will show these to you in a separate story on this weblog.
The combined calculations.
I will not bother you with the calculations for the base resistor (until you mail me and ask for it). I needed a resistor of 1.5K to 2K for the base of the transistor and for each led filament a resistor of 100 ohm.
2N2222
The 2N2222 has 3 connections E, B and C which are emitter, base and collector.
# ------------------------------------------- # simple test for setting filament on and off # ------------------------------------------- from machine import Pin import time filament = Pin(16, Pin.OUT) while True: filament.value(1) time.sleep(1) filament.value(0) time.sleep(1)
# ------------------------------------- # test program for dimming led filament # with PWM # ------------------------------------- import machine import time filament = machine.PWM(machine.Pin(16)) filament.freq(1000) while True: min = 0 max = 65536 for i in range(min,max): filament.duty_u16(i) time.sleep(.00015) time.sleep(1) for i in range(max,min,-1): filament.duty_u16(i) time.sleep(.00015) time.sleep(1)
For an index to all my stories click this text.
I got a mail from a reader that had a question about my previous story in which I installed the KDE Desktop on my Raspberry Pi OS.
For an index to all my stories click this text.
Last saturday (18 october 2025) was a memorable day.
I switched over permanent to my new computer !!
Up untill a few days ago my desktop system was an AMD Ryzen 5 1400 with Quad Core, a total of 8Gb memory and a 1 Terrabyte harddisk. At the time when I bought it (2018) this system cost about 800 Euro's not counting the mouse, keyboard and monitor.
The machine was getting terribly old and slow and that was mainly due to Windows. So I switched over to Linux (Kubuntu) about 2 year ago and that speeded things up enormously.
But lately The system had memory (ram) problems and hanged regularly. Terribly annoying when you try to do things. So while still working with this system in the mean time I was installing and experimenting with what would be my new computer. And like said a few days ago I switched over permanently.
I am typing this on my new computer. It is fast and works flawless.
My new system is ...............
A Raspberry Pi5 with 8Gb memory and a 1 Terrabyte SSD harddisk.
Yes, indeed a Raspberry Pi, is now my new main computer. And I am impressed.
I experimented a lot with the Pi5 before making the actual switch.
And here is my desk !!
A full working desktop computer with 8GB and a 1Tb harddisk is what I would call cheap.
And just a sidenote.
In a previous story where I showed how to install the KDE desktop on your Raspberry PI I mentioned that booting the PI took a bit longer: 43 seconds.
But that is when booting from an SD card. Booting from the SSD is blazing fast. Just a few seconds.
The Future ??
For now this machine works as a charm for me. Loads of memory and storage, and it runs all the software I need.
I can not predict that the Pi5 will last 8 years like my AMD Ryzen machine did. But then it also did not cost as much.
And without a doubt Raspberry will bring out a Pi6 in a few years. And it will be faster with more memory etc etc. And maybe I switch over at that time.
But for now I am very happy with my new workhorse.
That's it for now.
Back to work for me
have fun and till next time
Luc Volders
For an index to all my stories click this text.
This story explains how to install a VPN on Kubuntu
This does not work on a Raspberry Pi. For the Pi there is a different solution which will be addressed in an upcoming story.
What is a VPN
For those that have no idea what a VPN is and why you could use one I'll give a brief explanation.
First the name. VPN stands for Virtual Private Network.
Normally when you visit a website with your browser you have a direct connection to that website.
A VPN is a bridge in between. So you send the request for the website to the server of the VPN provider. The connection between your browser and the VPN server is encrypted and their server is a secure server. The VPN then contacts the website, gets the information and sends it encrypted back to you.
That way you do not have direct contact with the website you want to look at. This keeps you safe in countries where free speech is at stake. But it also makes it impossible for the website you are visiting to track you down. Even your Internet Provider can not see what sites you are visiting.
Another advantage is that you can access sites that are geo-restricted. This means that the website you are contacting even does not know in which country you are.
For a long time this was popular by people in Europe that wanted to watch certain US TV-shows. Without a VPN the US media server saw that you were in Europe and prohibited viewing. If you contacted these media through a VPN server they could not see that you were not in the US.
A VPN is secure for both UDP and TCP communication. Therefore you can also mask your IOT communication this way.
But it's not only safe for anonymously browsing. For Internet banking and mailing a VPN is also an extra safety step.
Free or paid VPN's
There are free and paid VPN services.
The restriction of a free VPN service is that you have less VPN servers to chose from, the service might not always be available and it may be slower.
I have been using the free VPN services from Proton for a while and they were always available and I did not notice any significant speed limitations. I do see that the amount of free VPN servers is indeed more limited as with their paid service, but for my testing purposes that did not bother me.
Proton have a no-log policy. That means that they do not keep a log of your activities. That is an extra safety measure that makes sure that no one can see what sites or services you have been using.
Even the Dutch consumer organisation "Consumentenbond" stated that the free Proton VPN service had little restrictions.
https://www.consumentenbond.nl/veilig-internetten/veiliger-internetten-met-een-vpn
Proton
Proton is a company that was founded by crowdsourcing and their main shareholder is the non-profit Proton Foundation. Their first priority ia privacy for internet users. One of the members of the organisation is Tim Berners Lee who is the inventor of the internet. Many of the people that work at Proton originate from CERN the European Organisation for Nuclear reasearch. Which is also the place where the internet was born.
This all sounds trustfull which is a must for a privacy first oriented company and VPN service.
Next to the VPN service they also supply a safe email service, a cloud based storage (drive), bitcoin wallet etc. etc. etc. Indeed all kinds of products where privacy is of the utmost concern.
Install Proton VPN
To use a VPN you'll need to install a small software package. This package intercepts all your network communication and sends it to the VPN server.
Installing the VPN software in Kubuntu is easy. Just visit the Proton website and follow the steps by pressing the button "Get Proton VPN"
https://protonvpn.com/
Fill in your email address and make up a password. Then download the software.
Using the Proton VPN
For an index to all my stories click this text
In the previous story I showed how to install the KDE desktop on a Raspberry Pi with the Raspberry OS Bookworm. Why ?? Well because the KDE desktop is beautiful while the Raspberry OS desktop is childish.As this story leans heavily on that previous story I urge you to read that first. Here is the link: http://lucstechblog.blogspot.com/2025/10/raspberry-os-bookworm-with-kde-desktop.html
And just when I was writing that story Raspberry introduced Trixie. The new OS based on Debian 13.
So I upgraded my setup (always recommended) and started experimenting to check if I could install the KDE desktop, called Plasma, on Trixie.
The official Raspberry site writes:
Something you will notice, however, is that we’ve made some changes of our own in the Trixie release. The most obvious is that we have updated the theme for the desktop — we have a completely new set of icons, a new font, new desktop backgrounds, and some other small tweaks to refresh the appearance of the system. This should be apparent as soon as you launch it.
Well actually the new theme looks indeed a bit better. But installing new software, and changing settings and a lot of other things still look dreadful. I wonder why they did not take the chance to upgrade tp KDE Plasma together with the new OS.
How to try this safely
A reader send me a mail telling that he was reluctant to do this as he was afraid to break things in his software. I told him not to worry.
You can try this safely before definitely stepping over.
Just use a fresh SD card. Install the Raspberry OS on that and follow the described steps. That will not harm your original setup and you can experiment as much as you like
But do yourself a favour and give it a try. You will not be disappointed.
Backup your data
First thing to do is to backup your valuable data. Good practice is to do that at least every week. I use an external harddisk for that and copy my complete home directory to that.
Installing KDE Plasma
Well actually most of the steps are equal to installing KDE Plasma on the previous OS: Bookworm.
So I refer to that story which you can find here:
https://lucstechblog.blogspot.com/2025/10/raspberry-os-bookworm-with-kde-desktop.html
The differences in the steps.
Step 7 in the story says:
And there we are.
The screen opens with your user name and you need to login with your password.
Well with Trixie that is not the way it works.
After rebooting the Raspberry GUI appears again.
Another difference is that when updrading Bookworm there is a dropdown menu on the top left side of the screen.
With Trixie this menu is at the left bottom side of the screen.
Just continue.
That is what you need to do. Just continue all the steps and when you reached the last step you will have achieved what you want: the KDE Plasma desktop on the Raspberry Pi !!!
But when you have installed KDE Plasma and tried it you will see there is no reason to go back.
That's all for now
have fun
Luc Volders