Best Way to Make a Simple GUI in Elk?

I am a beginner to linux and especially embedded linux systems so bare with me. I am just trying to implement a simple python program that makes a GUI that gets info from the elkpy grpc wrapper. It seems that tkinter is not configured on this OS and I cannot seem to import it no matter what I try. I also do not know how to get other gui library packages like Qt or kivy on the Elk device as I cannot find any sort of package manager like apt.

I looked into Qt for embedded devices to develop the GUI on my desktop and then deploy it to the raspberry pi, but it seems like it is used for creating devices. I only see options to create a boot to Qt device that flashes its own image to the sd card on the raspberry pi.

All I want is a simple UI python program on the pi running Elk. I have a small touchscreen display hooked up to the dsi port of the pi and a HiFiberry HAT getting audio input from a guitar. What is the best way to make a touchscreen interface since there are no built in packages for GUI in Elk?

I’d like to know the same thing, I am in the same situation using the same configuration (DSI touch display + HifiBerry hat) currently.

Blackboard has an I2C monochrome display, so it seems that it is possible. @Stefano do you have any advice on where we can start? If I had to guess, I would say we would need to find a way to add support for DSI touchscreens to a custom build of Elk Audio OS, following the process of this thread: Elk Audio OS source code

@jgustafson05 do you have any development experience? Perhaps we can work together on this.

for the monochrome I2C display on the Blackboard check the examples here:

We simply used the luma Python library, not super fast but very easy to use. A much more complex and supercool project is this one made by another forum user:

If you want to use more complex displays (DSI, HDMI, etc.), then QT or similar are probably the best choice. I’d recommend following some tutorial on other places for a simple GUI-only embedded application, and then use gRPC / elkpy / elkcpp to hook up the GUI to SUSHI.


1 Like

Ok cool, I guess this means I need to make a custom Elk Audio OS image with QT Embedded included in the image?