Question to Hyperpixel 4.0


#1

Hi folks,
maybe a silly question but what does this Display show? The desktop? The shell?
What i want to do is to display infos from a python program.
At the moment i use a 16x2 LCD-Display which gets his infos over the GPIOs.
Is it possible to use this panel as a replacement for an old style 16x2 LCD?


#2

It shows what you would normally see on an HDMI attached monitor. For full Raspbian it would be the desktop GUI, for the lite version it would be command line.
Once you install the software for the Hyperpixel 4.0 it should be usable when connected to the GPIO. If it was me, I think I would start with a clean Raspbian image, just to be sure the installer for your current display doesn’t interfere with the Hyperpixel software. There may be some file edits etc done by its installer that get left over when you run the hyperpixel installer and bork things up…


#3

Hmmm so it it seems i cant use Python to display some text on this diplay.
At the moment i use Adafruit Char-LCD driver for the 16x2 LCD with built in python commands.
So this Display didnt have this command level? Thats bad luck…
Thanks for your help


#4

It’s meant to be used as the main monitor / display. Instead of using an HDMI display. That’s its main use as near as I can tell from the product description. Its 800 x 480 pixels. You could likely do what you want by displaying a window / box with your text In it. How good are your coding skills? I don’t have those skills myself. Not even close.


#5

The problem is, i dont know how to display infos from a Python programm on a normal HDMI/Destop/Terminal Display. As i said, the function of this 16x2 LCD is completly different.
The Python-Driver sents this directly to the LCD over various GPIOs.
I have no idea how to display such infos on a normal “Computer-Screen” with HDMI-connection…


#6

Yeah, I don’t have those skills either. This screen isn’t a replacement for what your using, that’s for sure.


#7

Would e ink work for you, https://shop.pimoroni.com/?q=e%20ink
Or a scroll phat maybe? https://shop.pimoroni.com/products/scroll-phat-hd?variant=38472781450


#8

No, these are not an option - to slow and/or not enough resolution…
The display must be able to show various/changing infos at the same time.


#9

Ok, how about this, https://shop.pimoroni.com/products/rgb-led-matrix-panel?variant=42312764298


#10

Python has dozens of GUI libraries which you can use to program convincing facsimilies of desktop applications. The Python editor itself (both IDLE and Thonny I believe) is written in Python.

The sky is really the limit, but with no hardware to constrain how your UI looks you might be stuck with the paradox of choice.

https://www.pygame.org/wiki/gui

https://wiki.python.org/moin/TkInter

Or a complete list: https://wiki.python.org/moin/GuiProgramming


#11

So that means, i need a GUI-somethig-else… wow, that exeeds my current knowledge - but good to know it “is” possible. I will read all your Links and see what happens next ;-)


#12

I think there’s a whole bunch of GUI tutorials out there that may get you started- it’s easier than it looks, but it’s a case of finding the right one and I - admittedly - haven’t done much Python GUI stuff so I don’t know any good ones off the top of my head.


#13

Hi,
I have just bought a HyperPixel 4.0 and I’m doing a similar thing to you (by which I mean writing an application in python which is text based). I did this;
Install latest OS
Install HyperPixel 4.0 driver
At this point the HDMI output stops working and the HyperPixel is your only way of seeing what’s going on.
I had a bit of a shock because it’s only now that I realised that the new display uses up all your GPIO pins. Information here; https://pinout.xyz/pinout/dpi
Anyway assuming that this does not put you off then I think there are two ways of proceeding…

  1. make your Pi boot with a command line interface (CLI). When running a CLI, I got a display of 30 * 100 characters
  2. make your Pi boot with Windows running. Start a terminal session and minimise the clutter to get the most out of the display. When running a terminal session in a window I got… 38 * 114 characters
    I use the following to change from one to the other
    “sudo raspi-config” from the command line then select “boot options”…

That second option needs some explaining…
When you open a normal terminal session I get 24 * 80 but you can maximise the screen (pressing the max button top right of the terminal session) and you’ll get 35 * 114. Then you can use a thing called “devilspie” to remove all the window dressing around the terminal. This gives you 37 * 114. Finally you can make the task bar along the top of the screen smaller by right clicking on it and selecting “Geometry” and reducing the number of pixels it uses. This gives me 38 * 114.
Devilspie is very simple to set up; I’ll send you my config if you need it.
As regards the actual application, I don’t use the touchscreen for operator input; I still use the keyboard. I use a module called “curses” to drive the display. You can use “tput cols” and “tput lines” to see what the terminal session dimensions are set to.


#14

Hi LittleFrog and thanks for all this nice infos. Because the display uses “all” GPIOs, i cant use it for my project. I need at least 3 GPIOs for two buttons and a Temp-Sensor.
Thanks again for your Help.


#15

OK, no worries.

Could I ask what temp sensor you use? I use the DS18B20… It’s not perfect but I quite like it. Just being nosey.

Thanks

Dave


#16

I use the DHT22 for Temp and Humidity. The accuracy is also weak but i use a meter to calibrate the offset in the software and that works quit good.


#17

I’m using a BME680 to get temp, humidity and pressure. I display the data on a Sense Hat 8x8 LED matrix. Its a continuously scrolling repeating message that updates in real time. I started out using the sensors on the Sense Hat but had issues with heat from the Pi throwing off my temp readings. And another issue with the humidity sensor reading high in high humidity conditions. My BME680 is mounted externaly on the bottom of my case. At some point I’m going to replace the Sense Hat with a Unicorn Hat HD.


#18

Thanks for the tips on the DHT22 and BME680.

Re-reading this thread, you mentioned about being new to GUI programming. My son has just finished his University project and he used QT4 and a graph presentation library called “pyqtgraph” running on a pair of Pi’s. I just could not believe how FEW lines of code were required to make real time graphs and button & menu type GUI’s. Might be worth a look. His project was for race car telemetry where he monitored about 20 car parameters and presented them on track-side GUI.

I use text only user interfaces in my work and just so you know, I did a comparison between different displays. I just used a simple python program that printed to the screen using curses. In the following configurations, it made no difference at all to the rate at which the application ran…
Pi running in CLI mode (i.e. No X Windows) to an HDMI monitor (61 * 228)
Pi running in CLI mode (i.e. No X Windows) to a HyperPixel 4.0 (30 * 100)
Pi running X Windows and running a terminal session to an HDMI monitor (38 * 114)
Pi running X Windows and running a terminal session to a HyperPixel 4.0 (38 * 114)
Pi running to a puTTY session over my LAN (38 * 114)

Dave