Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add in support for Waveshare 2.13inb V4 e-ink display #1135

Merged

Conversation

therocco
Copy link
Contributor

@therocco therocco commented Jan 18, 2023

Signed-off-by: Rocco Augusto rocco@nerdofsteel.com

Description

I purchased one of the newer Waveshare 2.13in b V4 displays from https://www.waveshare.com/2.13inch-e-paper-hat-b.htm and it wasn't working as expected with pwnagotchi so I took the liberty of adding in the necessary code to get the display working correctly for me

Motivation and Context

  • I have raised an issue to propose this change (required)

Given the simplicity of adding a new display type to the current app I created a ticket (linked below) and made the necessary changes and created this pull request

FIXES #1134

How Has This Been Tested?

Updated display changes were manually copied over to a fresh build of pwnagotchi v1.5.5 at location /usr/local/lib/python3.7/dist-packages/pwnagotchi with updated config.toml settings pointing to the new display in manual and auto mode for an hour in each mode to make sure there were no display issues that popped up.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I've read the CONTRIBUTION guide
  • I have signed-off my commits with git commit -s

NOTE: Note sure where to update the documentation but if you let me know where it is stored I can do so.

Signed-off-by: Rocco Augusto <rocco@nerdofsteel.com>
@datapush3r
Copy link

datapush3r commented Oct 10, 2023

Can this please be merged? I have tested this on my Waveshare 2.13inb V4 e-ink display and it's working perfectly. @evilsocket

@evilsocket evilsocket merged commit 2122af4 into evilsocket:master Oct 11, 2023
@cocotalouca
Copy link

cocotalouca commented Nov 1, 2023

What exactly was changed in the config.toml to point to the v4 display? care to share the relevant part of the config.toml, please?
Did every change in this pull and updated each file, but the display has no life unfortunately...

aluminum-ice added a commit to aluminum-ice/pwnagotchi that referenced this pull request Nov 4, 2023
Merge pull request evilsocket#1135 from therocco/feat-display-waveshare213inbv4
@KDonAT
Copy link

KDonAT commented Nov 28, 2023

I am trying to integrate the Waveshare V4 with the code you've posted but am encountering some challenges. I was wondering if you might have some guidance or additional documentation on how to properly set it up.

@Mildmanneredmiles
Copy link

I am in the same boat as KDonAT. Some guidance on how to properly set this up would be very helpful.

@amooz
Copy link

amooz commented Dec 8, 2023

Looking through the changes, looks like you need to set the display type to ‘waveshare213inb_v4'

@KDonAT
Copy link

KDonAT commented Dec 11, 2023

yeah but where do changed data do I need to change de ISO or do i just put it with ftp on the gotchi?

@j4d2k0
Copy link

j4d2k0 commented Dec 11, 2023

This should fix your problems add this to your boot delete any existing .toml file if anything comes up feel free to reach out
config.toml-shared.txt make sure to delete the dash shared so your file will read like this (config.toml)

@MagicalMutation
Copy link

sorry.. im lost here.. so j4d2k0 .. your config.toml shows ui.display.type = waveshare_3 amooz shows waveshare213inb_v4

anyone got a definative img file with it all working they can hook me up with.. I am starting to think my waveshre is toast. as I have not seen a flicker out of it with either setting.

sorry to sound like a complete waste of skin here but i have followed every instruction and it works fine.. all except the screen..

@kagehisa
Copy link

kagehisa commented Jan 2, 2024

@KDonAT: The latest stable release for the image was in April 2021, the PR was merged in January 2023 so you either copy and replace all the Python scripts mentioned in the commit section of this PR to your current pi or build yourself a completely new image (see here for instructions).

@cohen-sydney
Copy link

is there a IMG build of this, that support V4, that I can then burn to a card??

@SSpiderlxx
Copy link

I've got a fork with this code added and working on however you got to change update the git repository on the pi and update it manually ( its a 3 step process ). I don't have a IMG for it however but I've got it working on my own pi. I don't remember where the folder is located on the pi since its been a while but:

https://github.com/SSpiderlxx/hackagotchi

git remote rm origin
git remote add origin https://github.com/SSpiderlxx/hackagotchi.git
git pull

@KDonAT
Copy link

KDonAT commented Jan 22, 2024

https://github.com/DrSchottky/pwnagotchi/releases/

this is a V4 img i found

@hitgub53
Copy link

hitgub53 commented Feb 17, 2024

@MagicalMutation i found this bash script for V3 display which has this fork for V4. It works as expected on my raspberry pi zero wh with waveshare 2.13in v4 display. I needed to remove the other displays dependencies from /usr/local/lib/python3.7/dist-packages/pwnagotchi/ui/hw/init.py to get it running

After you ran the bash script (and maybe removed the other faulty stuff), you should alter your /etc/pwngatchi/config.toml to have

ui.display.enabled = true
ui.display.type = "waveshare213inb_v4"
ui.display.color = "black"

After this you should be good to go.
I figured out by now, that the epd2in13b_V4.py file seems to only support full display refresh (which has the downside that the display flickers to reset it everytime it changes) and am trying to make it work for partial refresh. Is there any additional insight you could give me on this @therocco ?

@Tiebe
Copy link

Tiebe commented Mar 2, 2024

I figured out by now, that the epd2in13b_V4.py file seems to only support full display refresh (which has the downside that the display flickers to reset it everytime it changes) and am trying to make it work for partial refresh. Is there any additional insight you could give me on this @therocco ?

I just put in a support ticket at Waveshare asking about what the protocol is for partial refreshing on the V4 systems. Will update here when I get a response.

@Xtron135
Copy link

Xtron135 commented Mar 29, 2024

https://github.com/DrSchottky/pwnagotchi/releases/

this is a V4 img i found

Anybody looking for solution, Im here to verify. The v4 image from DrSchotty, plus display type "waveshare_3" works perfectly for me as of today. And one more thing, the AI Mode works perfectly, I just leave it around 1 hour, then the AI Mode came up

@hitgub53
Copy link

hitgub53 commented Jun 14, 2024

I just put in a support ticket at Waveshare asking about what the protocol is for partial refreshing on the V4 systems. Will update here when I get a response.

Hi. Did you ever get a response?
KR

@vanshksingh
Copy link

I figured out by now, that the epd2in13b_V4.py file seems to only support full display refresh (which has the downside that the display flickers to reset it everytime it changes) and am trying to make it work for partial refresh. Is there any additional insight you could give me on this @therocco ?

I just put in a support ticket at Waveshare asking about what the protocol is for partial refreshing on the V4 systems. Will update here when I get a response.

Been Pulling my hair to get Partial Refresh working on the epd2in13b_V4 , killed an rpi zero and an sd card , still no luck , switching to rpi zero 2w

it works fine on DrSchootky release , so might go there and compare the files

@hitgub53
Copy link

hitgub53 commented Jun 28, 2024

What finally worked for me was jayofelony's repo .
flashed 32 bit on my sd card, switched display to on in config.toml and it just worked.
Changelog suggests it should work with most combinations "natively" now. Maybe worth a try before you buy a rpi 02w @vanshksingh
When i say it worked i mean partial refresh also!
rpi 0 wh, waveshare 2.13in v4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Waveshare 2.13in B v4 e-ink display support