Sitronix ST1633 Capacitive Touch Panel Controller Support.

Hi Balena team.

I have a custom board that will use the CM3 Plus Raspberry Pi module.
This board uses an LCD which uses the Sitronix ST1633 chip for the touch controller.

Support for this chip has been added in the main Linux kernel in May last year

I am using now BalenaOS 2.46.1+rev1 for Raspberry Pi 3.

How I can find out if this BalenaOS version supports this chip?

Thank you.

Hello, unfortunately the kernel version for rasbperrypi is still on 4.x, so we do not have support for that chip yet.

Hi @nazrhom,

Thank you for response.

How difficult is to build a custom balenaOS image for Raspberry Pi 3 with upgraded Linux kernel v5.x?

Is this just a matter of change Linux sources files when building the custom balena? or this is expected to break things and its not recommended?


Hello @rlev I suspect the change would not be trivial and some breakage should be expected. I can try and loop in some engineers from the OS team if you are interested in attempting this. Just to be clear, this is not something we offer direct support for, so any kind of help we can provide will be on a best-effort basis. Alternatively we can do custom backports for such cases, but I would recommend contacting sales directly ( to discuss details about that.

Hi @nazrhom.

I have contacted Balena sales and I gave them this thread link as a reference.


I have received the driver ( C file ) from the manufacturer of this CPT I2C controller and I would like to add it to a custom Balena Image built from source.

Does somebody knows if there is a guide in How to add hardware driver to balena OS repositories?
In my case In will try to build a Raspberry pi 3 B+ balena Image?


I’ve never done this myself, but I believe that you can build your driver as a kernel module and load it on balenaOS at runtime. See for an example

Hi @jviotti,

Thanks for link.

I think this link is for adding out-of-tree kernel module.

In my case I have 2 files:

So I guess these are file to be added to the kernel.

How can I add these file to BalenaOS Kernel for Raspberry Pi 3 Image?

Thank you


You can start with building a custom balenaOS, see, you would need to add a new configuration entry to the kernel. A recent example of this is When your custom balenaOS build works, you can PR meta-balena repository with the change so we incorporate it into the next release.

Hi @nghiant2710,

Thank you for your response.

The driver I have is a kernek driver which has to be added to the Kconfig file and rebuild the whole linux kernel to be added.

Does balenaOS support to add driver in the kernel building ?



The easiest way is to add the driver as a module using this project If this is not possible and you want the driver to be compiled into the kernel and run your own kernel, you need to build your own custom balenaOS following the guide here:

Thanks @afitzek,

Regarding drivers. Do you know where in the tree directory of the balena-raspberrypi repo structure the drivers are declared/implemented?


Hey there! You should be able to define this driver in recipes-kernel as explained in more detail here:


Will read this link.

Thank you