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

NFC_Eink #245

Draft
wants to merge 13 commits into
base: dev
Choose a base branch
from
Draft

NFC_Eink #245

wants to merge 13 commits into from

Conversation

RebornedBrain
Copy link
Contributor

@RebornedBrain RebornedBrain commented Sep 26, 2024

What's new

  • This app allows emulation and writing of NFC Eink tags from Waveshare and Goodisplay
  • Image saved as one screen type can be then loaded to screen of another type

Here is the list of displays wich app supports now:
Waveshare:

  • Waveshare 2.13 inch
  • Waveshare 2.7 inch
  • Waveshare 2.9 inch
  • Waveshare 4.2 inch
  • Waveshare 7.5 inch

Goodisplay:

  • GDEY0154D67
  • GDEY0213B74
  • GDEY029T94
  • GDEY037T03

Verification

Emulation

Goodisplay emulation verification:

  1. Install Goodisplay NFC-D1 application from here (scan QR code)
  2. Choose screen type and select any image from gallery, or use predefined one
  3. On Flipper select Emulate->Goodisplay
  4. Apply phone to Flippers back

Waveshare emulation verification:

  1. Install Waveshare NFCTag application from here
  2. Choose screen type and select any image from gallery
  3. On Flipper select Emulate->Waveshare
  4. Apply phone to Flippers back

Waveshare emulation verification using Proxmark:

  1. On Flipper select Emulate->Waveshare
  2. Put Flipper close to Proxmark
  3. On proxmark use such command hf waveshare loadbmp -f <path_to_file.bmp> -m 0

Writing

  1. Choose saved image on Flipper
  2. Choose Write
  3. Select screen type you want to write
  4. Apply Eink tag of that type, or another Flipper with emulation.

Writing depends on 'Writing mode' on Settings menu:

  • Strict - image can be written only to that type of screen which was used during emulation (initial screen).
  • Size - image can be written to any screen with the same resolution (example Waveshare 2.13 inch to GDEY0213B74)
  • Vendor - image can be written to any screen with the same vendor as in initial screen.
  • Free - image can be written to any screen without restrictions.

When initial image is smaller then target screen, then it will be copied to target and other part in target will be filled with black color.
When initial image is larger then target screen, then it will be cropped to fit target screen size.

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

@RebornedBrain RebornedBrain marked this pull request as ready for review September 30, 2024 09:48
@Xbxjdjdjd
Copy link

Will this work on Pricer brand tags?

here

@RebornedBrain
Copy link
Contributor Author

Will this work on Pricer brand tags?

here

I don't think so, because each vendor has it's own protocol over NFC which needs to be investigated and implemented separately. In order to do that some protocol traces are required, I had tags of mentioned vendors only. But anyway app is done in the way, which assume adding new vendors and screens.

@skotopes
Copy link
Member

skotopes commented Nov 1, 2024

Good display: No reaction and eventual out of memory on trying to write with original app(https://www.good-display.com/product/423.html using GDEY037T03 config)
Wave share: works but not super stable.

@skotopes skotopes marked this pull request as draft November 1, 2024 05:57
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.

3 participants