Hello Everyone,
I recently started playing with this project. Very cool and fun repo and thanks for recently updating this fork!
I had an unused SPI display in my inventory, I tought that would be perfect match for the Raspberry Pi Zero 2W.
After analyzing the display drivers, I found the one that I have on hand. — I bought it on AliExpress and I think it's not a genuine Waveshare branded display. Okay, I soldered the wires from the Pi's GPIO holes to the display and set the corresponding settings in the webui.
[ui.display]
enabled = true
rotation = 180
type = "wavesharelcd1in9"
After saving the modifications, I rebooted the Pi. Nothing happened for a while, but it came back to life.. displaying a white empty screen.

I started to dig around to find the problem and here is my current status:
The display works and it is not damaged. I tested it. Downloaded the demo code from Waveshare's product page. I compiled the C code and ran it, the display is working.

When I set the display type to wavesharelcd1in9, the webui became oversized and I had to scroll a lot more on the page to reach the buttons on the bottom. Strange.
I tried to gather more information, so I ran the pwnagotchi --debug as root over SSH.
...
[2026-01-30 01:07:41,725] [WARNING] [MainThread] : ui.fps is 0, the display will only update for major changes
[2026-01-30 01:07:41,732] [INFO] [MainThread] : initializing waveshare 1.9 inch lcd display
[2026-01-30 01:07:48,407] [DEBUG] [MainThread] : fix_services on_ui_update
[2026-01-30 01:07:48,410] [DEBUG] [MainThread] : gps_listener on_ui_update
[2026-01-30 01:07:48,412] [DEBUG] [MainThread] : wpa-sec on_ui_update
[2026-01-30 01:07:48,413] [DEBUG] [Thread-11] : wpa-sec.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,409] [DEBUG] [Thread-3] : fix_services.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,414] [DEBUG] [Thread-9] : gps_listener.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,415] [DEBUG] [MainThread] : memtemp on_ui_update
[2026-01-30 01:07:48,423] [DEBUG] [MainThread] : cache on_ui_update
[2026-01-30 01:07:48,424] [DEBUG] [Thread-14] : cache.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,426] [DEBUG] [Thread-31] : pwnagotchi.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,415] [DEBUG] [Thread-12] : memtemp.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,425] [DEBUG] [MainThread] : pwnagotchi on_ui_update
[2026-01-30 01:07:48,433] [DEBUG] [MainThread] : wigle on_ui_update
[2026-01-30 01:07:48,434] [DEBUG] [Thread-15] : wigle.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
[2026-01-30 01:07:48,437] [DEBUG] [MainThread] : ohcapi on_ui_update
[2026-01-30 01:07:48,438] [DEBUG] [Thread-17] : ohcapi.ui_update: (<pwnagotchi.ui.display.Display object at 0x7f4cd57380>,)
Exception in thread Renderer:
Traceback (most recent call last):
File "/usr/lib/python3.13/threading.py", line 1043, in _bootstrap_inner
self.run()
~~~~~~~~^^
File "/usr/lib/python3.13/threading.py", line 994, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pi/.pwn/lib/python3.13/site-packages/pwnagotchi/ui/display.py", line 331, in _render_thread
self._implementation.render(self._canvas_next)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/home/pi/.pwn/lib/python3.13/site-packages/pwnagotchi/ui/hw/wavesharelcd1in9.py", line 42, in render
self._display.ShowImage(canvas)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File "/home/pi/.pwn/lib/python3.13/site-packages/pwnagotchi/ui/hw/libs/waveshare/lcd/lcdhat1in9/LCD_1inch9.py", line 160, in ShowImage
pix[..., [0]] = self.np.add(self.np.bitwise_and(img[..., [0]], 0xF8), self.np.right_shift(img[..., [1]], 5))
~~~^^^^^^^^^^
ValueError: shape mismatch: value array of shape (320,1) could not be broadcast to indexing result of shape (320,170,1)
[2026-01-30 01:07:48,756] [INFO] [MainThread] : Starting WebServer thread
[2026-01-30 01:07:48,762] [INFO] [MainThread] : pwnagotchi@55fe08be7128fcd16e15cd0efc51192c7dfc55efbdae2c068f9bbeeb7c57a317 (v2.9.5.4)
[2026-01-30 01:07:48,765] [DEBUG] [MainThread] : plugin 'Logtail' v0.1.0
[2026-01-30 01:07:48,773] [DEBUG] [MainThread] : plugin 'Grid' v1.1.0
[2026-01-30 01:07:48,785] [DEBUG] [MainThread] : plugin 'FixServices' v1.0.1
[2026-01-30 01:07:48,792] [DEBUG] [MainThread] : plugin 'SessionStats' v0.1.0
[2026-01-30 01:07:48,804] [DEBUG] [MainThread] : plugin 'UploadConvertPlugin' v1.0.0
[2026-01-30 01:07:48,816] [DEBUG] [MainThread] : plugin 'Webgpsmap' v1.4.0
[2026-01-30 01:07:48,823] [DEBUG] [MainThread] : plugin 'GPS' v1.0.0
[2026-01-30 01:07:48,836] [DEBUG] [MainThread] : plugin 'AutoBackup' v1.1.3
[2026-01-30 01:07:48,842] [DEBUG] [MainThread] : plugin 'WpaSec' v2.1.2
[2026-01-30 01:07:48,853] [DEBUG] [MainThread] : plugin 'MemTemp' v1.0.2
[2026-01-30 01:07:48,863] [INFO] [WebServer] : web ui available at http://[::]:8080/
[2026-01-30 01:07:48,864] [DEBUG] [MainThread] : plugin 'WebConfig' v1.0.0
[2026-01-30 01:07:48,867] [DEBUG] [MainThread] : plugin 'Cache' v1.0.0
* Serving Flask app 'pwnagotchi.ui.web.server'
* Debug mode: off
...
So if I'm understanding the situation right, the code fails at rendering the image to the display, that's why the screen is constant white and flickering.
I would like to request some help from you guys to fix this issue.
Thank you in advance!
Version
2.9.5.4
Code of Conduct
Hello Everyone,
I recently started playing with this project. Very cool and fun repo and thanks for recently updating this fork!
I had an unused SPI display in my inventory, I tought that would be perfect match for the Raspberry Pi Zero 2W.
After analyzing the display drivers, I found the one that I have on hand. — I bought it on AliExpress and I think it's not a genuine Waveshare branded display. Okay, I soldered the wires from the Pi's GPIO holes to the display and set the corresponding settings in the webui.
After saving the modifications, I rebooted the Pi. Nothing happened for a while, but it came back to life.. displaying a white empty screen.
I started to dig around to find the problem and here is my current status:
The display works and it is not damaged. I tested it. Downloaded the demo code from Waveshare's product page. I compiled the C code and ran it, the display is working.
When I set the display type to wavesharelcd1in9, the webui became oversized and I had to scroll a lot more on the page to reach the buttons on the bottom. Strange.
I tried to gather more information, so I ran the
pwnagotchi --debugasrootover SSH.So if I'm understanding the situation right, the code fails at rendering the image to the display, that's why the screen is constant white and flickering.
I would like to request some help from you guys to fix this issue.
Thank you in advance!
Version
2.9.5.4
Code of Conduct