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

Resources and Suggestions #31

Open
vroland opened this issue Oct 13, 2020 · 177 comments
Open

Resources and Suggestions #31

vroland opened this issue Oct 13, 2020 · 177 comments
Labels

Comments

@vroland
Copy link
Owner

vroland commented Oct 13, 2020

Feel free to post useful resources, suggestions or show off your projects here. Older comments of this nature can be found in #21 .

@mcer12
Copy link
Collaborator

mcer12 commented Oct 14, 2020

Found this digitizer, it's not quite the same size as 6" display but might be interesting since it should be fairly easy to implement.
https://www.aliexpress.com/item/32691474609.html

@mcer12
Copy link
Collaborator

mcer12 commented Oct 14, 2020

Another thing I found is that ED060XD4 (ED060XC3) should be using Cypress TMA445 touch IC (if you order version with touch).
http://www.cypress.com/files/cytma445-truetouch-multi-touch-all-points-touchscreen-controller-datasheetpdf
And linux driver, might come handy:
http://read.pudn.com/downloads648/sourcecode/embedded/2633827/kernel/drivers/input/touchscreen/cyttsp4_device_access.c__.htm

@vroland
Copy link
Owner Author

vroland commented Oct 14, 2020

For touch screen overlays there are bigger ones available as well: https://www.aliexpress.com/item/32892604142.html?spm=a2g0s.9042311.0.0.27424c4dw73ARr These have a Goodix controller chip and afaik there is already an Arduino driver out there.

@mcer12
Copy link
Collaborator

mcer12 commented Oct 22, 2020

Adding external PSRAM to WROOM module
https://www.reddit.com/r/esp32/comments/j7kxx2/psram_on_wroom/

@vroland
Copy link
Owner Author

vroland commented Oct 23, 2020 via email

@mcer12
Copy link
Collaborator

mcer12 commented Nov 2, 2020

There is a version of ED097TC2 with touchscreen and backlight, so just throwing it out there.
https://www.aliexpress.com/item/1005001268418194.html

@vroland
Copy link
Owner Author

vroland commented Nov 4, 2020

There is a version of ED097TC2 with touchscreen and backlight, so just throwing it out there.
https://www.aliexpress.com/item/1005001268418194.html

That's a nice one. Btw, do you know any tricks for searching in AliExpress? When i search for ED097TC2 directly nothing turns up, but sometimes it is listed in the suggestions.

@mcer12
Copy link
Collaborator

mcer12 commented Nov 4, 2020

@vroland I don't... maybe it's your region. Does it let you order the one I linked?

@vroland
Copy link
Owner Author

vroland commented Nov 12, 2020

Yes, I could order it, but I cannot find it via search :D

@mcer12
Copy link
Collaborator

mcer12 commented Nov 18, 2020

ED0970D2 seems to be the same as ED097TC2/OC4 but also have digitizer. In this case it looks like the digitizer is analog. No backlight.

@mcer12
Copy link
Collaborator

mcer12 commented Dec 1, 2020

Received new pcbs and should also receive the ED060XC3 finally today, it was on the way for what, over two months? lol! So I will do some testing. I dont have very high expectations since I worked without datasheet but lets see :)

@mcer12
Copy link
Collaborator

mcer12 commented Dec 1, 2020

Just managed to make it work! Both ED060XC3 and ED060XD4 work out of the box using ED097TC2 definition in menuconfig. ED060XC3 looks just as good as ED097TC2, same contrast, awesome. ED060XD4 has very bad contrast but that can be due to VCOM setting or slightly different timing. Neither of the displays came with VCOM specified so I used 1.62 from my ED097TC2 :)

Gotta admit, I was afraid it will release the magic smoke since I just guessed the pinout :D No smoke, dragon!

@mcer12
Copy link
Collaborator

mcer12 commented Dec 1, 2020

https://imgur.com/a/CPPmDYQ

I ramped up VCOM to -2.6V which is pretty high and its much better (it's the one without foil in the image), still lower contrast than ED060XC3 tho (fun fact: ED060XC3 is cheaper :) ). And sorry for spamming, I am very excited as I didn't really expect for it to work :) I will create separate issue to discuss these displays.

@vroland
Copy link
Owner Author

vroland commented Dec 2, 2020

Nice work! Just wondering: These displays have a 34-pin connector, right? Would you mind documenting the pinout, so I can make an adapter board from the 33pin connector?
And the VCOM value might be right, when I search for the XD4 I get this site: https://utradioguide.com/products/ed060xd4-c200-touch-screen-display-lcd-fur-pocketbook-626-plus-pocketbook-626-plus-pocketbook-626-p-nicht-zu-verwenden-um-pocketbook-626-2/ . One of the pictures shows a label with a -2.85V VCOM ;)

@mcer12
Copy link
Collaborator

mcer12 commented Dec 2, 2020

Yes, the connetor and pinout is the same as XC5, just with pin numbers reversed (!!!). I was searching for XC5 images to see what the usual vcom is and its usually between 2.5-2.9 which works great for my XD4. The contrast is now on par with XC3 and even looks little more crisp.

@mcer12
Copy link
Collaborator

mcer12 commented Dec 2, 2020

This assentially should add support for:
ED060XC3
ED060XD4
ED060XC5
ED060KD1
ED060KC1
ED060XD6
ED060XH2
ED060XC9
ED060XG1

I was also doing some digging on ED060SCF and similar types but that one is most probably same connector but unknown pinout (from visual inspection of the flex cable, compared to XC5 the traces don't match).

@vroland
Copy link
Owner Author

vroland commented Dec 2, 2020

Pins reversed? Wow :D The ED060XH7 looks promising as well, with a specified contrast of 16:1 (vs. 12:1) and touch + front light for ~50$.

ED060XC3
ED060XD4
ED060XC5
ED060KD1
ED060KC1
ED060XD6
ED060XH2
ED060XC9

Modulo pin permutation :D

@vroland
Copy link
Owner Author

vroland commented Dec 2, 2020

Have you had any luck getting touch to work, yet?

@mcer12
Copy link
Collaborator

mcer12 commented Dec 2, 2020

I am a cheap guy so I only have the cheap displays without touch :D

@mcer12
Copy link
Collaborator

mcer12 commented Dec 2, 2020

Jokes aside, I was curious about it but I barely know linux and porting touch drivers from it to the ESP is something I don't have time for nor do I expect to succeed :D

@vroland
Copy link
Owner Author

vroland commented Dec 2, 2020

Ah, ok. Fair enough ;) Currently I do not really have a project for a 6" panel either, so this will have to wait.
Usually, these are just I2C-connected and you have to read some registers to get events, but writing a nice driver for the ESP is of course a bit more time-consuming.

@mcer12
Copy link
Collaborator

mcer12 commented Dec 6, 2020

Turns out ED060SCF also works flawlessly with ED060XC5 pinout. I didn't think so at first because the traces looked pretty different but following key traces to the chip, turns out it's actually pin-compatible. That means:
ED060SCF
ED060SCN
ED060SCP

should all be compatible using my connector pinout :)
This covers all kindle paperwhite generations and most kindle 4/5/7s.

Adding ED060SC7 connector would add support for:
ED060SC7
ED060SCG
ED060SCE
ED060SCM
ED060SCT
This would make the board pretty much compatible with all widely available book reader displays

@vroland
Copy link
Owner Author

vroland commented Dec 6, 2020

So only the ED060XC3 has its pins reversed? But that would make it way easier to drive recycled screens :)
I guess it would make sense then to remove the 39-pin connector from the bottom and provide an adapter board instead, leaving the board with a 33pin and 34 pin connector? Or add it to the top at the cost of a bigger form factor...

@mcer12
Copy link
Collaborator

mcer12 commented Dec 6, 2020

Sorry I guess I said it unclearly, ED060XC3 has only pin numbers switched on the flex cable but otherwise it's exactly 1:1 like XC5. Another confusing thing is that XC3 (and the same displays) have the flex cable glued to the display, XC5 does not so it may look different when it's not. These images should be self-explanatory :)
XC3:
https://ae01.alicdn.com/kf/HTB1OaJKSFXXXXbTaXXXq6xXFXXX7.jpg?size=87752&height=1000&width=1000&hash=9c1cb17af28fbb6006537e52c23133a7
XC5:
https://rounded.com/images/detailed/123/sony-reader-prs-t3-e-ink-display-ed060xc5-lf_image-1.png

@vroland
Copy link
Owner Author

vroland commented Dec 6, 2020

@mcer12
Copy link
Collaborator

mcer12 commented Dec 6, 2020

Yes, it should be just these two. Only annoing thing si that the SC7 connector is not available on lcsc and costs like $2 a piece on mouser :/

@vroland
Copy link
Owner Author

vroland commented Dec 6, 2020

Don't they both have 34 pins with a 0.5mm pitch? This one https://lcsc.com/product-detail/FFC-FPC-Connectors_XKB-Connectivity-X05A20H34G_C528053.html is priced reasonably and looks like it will survive connecting / disconnecting a few times.

@martinberlin
Copy link
Collaborator

martinberlin commented May 29, 2021

New repository can be already tested with Lilygo EPD47 and 6" using EPDiy as a bridge component:
https://github.com/martinberlin/lv_port_esp32-epaper
Will write a tutorial and integrate the touch driver (L58)

@martinberlin
Copy link
Collaborator

martinberlin commented Oct 25, 2021

Info: The LilyGo EPD47 touch overlay L58 is already supported in my component. Just ask me if you need demo examples so I can send you some links.

Question and suggestion at the same time: The LilyGo EPD47 has the battery voltage divider connected to GPIO_NUM_36 which is ADC1_CHANNEL_0.
There is a way to measure battery in EPDiy V6? Or I have to make it myself doing a voltage divider connected to a free DAC IO and use that pin as a analog to digital converter?

@mcer12
Copy link
Collaborator

mcer12 commented Oct 25, 2021

@martinberlin V6 should have voltage divider attached to GPIO34

@martinberlin
Copy link
Collaborator

@mcer12 tried to configure the ADC channel to ADC1_CHANNEL_6 that corresponds to IO 34 but I still cannot read the battery voltage.
I don't see where the IO 34 is connected to the voltage divider in V6 schematics. I just see that it goes to A0 or I'm missing something?
schematic-v6.pdf

@mcer12
Copy link
Collaborator

mcer12 commented Oct 29, 2021

@martinberlin if you take a look at the ESP32, GPIO34 = A0 track ;) Apparently there's a jumper somewhere between the voltage divider and GPIO34 so you will have to connect that.

@mcer12
Copy link
Collaborator

mcer12 commented Oct 29, 2021

@martinberlin seems to be right above the large tantalum capacitor

EDIT: sorry I was looking at the V5 :D It's right above TP4056 on V6 it looks like.

@martinberlin
Copy link
Collaborator

Apparently there's a jumper somewhere between the voltage divider and GPIO34 so you will have to connect that.

Ahh ok that's it I will localize the jumper and see it is possible to measure the voltage. Thanks for the hints!

@Habraten
Copy link

Habraten commented Nov 2, 2021

Hi
Interested in connecting multiple displays to your driver at the same time. In particular, I am interested in three. Three 9.7" displays for the implementation of the quarterly calendar project.
Is it possible to connect them as one single monitor or switch between them to output information?
The latter option seems to me the simplest, but it is not clear how to implement it in hardware.
Is it possible to add an option to switch between displays to your development?
An example of what is planned to be implemented

изображение

@martinberlin
Copy link
Collaborator

martinberlin commented Nov 2, 2021

@Habraten I don’t think you can do that with the current version of EPDiy. Every epaper need to receive their voltages and also the data. And they are not SPI where you can simply target one of them. But that’s just my opinion, I let the others that know better than me to reply. It’s just that I can’t think about something like this unless you have some kind of shift register that lets you redirect the 8 data lines and config pins data to each specific target. And even like that you could only update one at a time.

@mcer12
Copy link
Collaborator

mcer12 commented Nov 3, 2021

@Habraten @martinberlin It's possible it could work to connect data lines to all displays and only switch power to each display in sequence. Things to note:

  1. custom pcb is needed with high side switches for the displays, 3 connectors and it's possible it won't work at all.
  2. important to know that this solution will have to update the displays in sequence, not simultaneously (IF it works)

Summed up, just use 3 boards for 3 displays. You will be able to update all displays simultaneously and it just works.

@Habraten
Copy link

Habraten commented Nov 3, 2021

@mcer12 yes, I'm thinking of an option with a switch that can be controlled by ESP32. three display ports and switch between them. as for me, this is the most optimal solution for my task. but I will not be able to modify the board myself and include such switches in the circuit. So I ask @vroland. use 3 boards for 3 displays may be, but how synchronize with each other

@mcer12
Copy link
Collaborator

mcer12 commented Nov 3, 2021

@Habraten Goal of this project is to provide universal development board to drive these displays, not to design custom pcbs for specific purpose. This is not the right place to ask this.
Using 3 boards and syncing them is quite easy - much easier than designing your own pcb. If you're looking for ideas to do that, you can try diyhue slack/matrix chat or ask on reddit r/esp32 as this is not really epdiy related question.

@vroland
Copy link
Owner Author

vroland commented Nov 4, 2021

@Habraten Designing your own PCB for it, getting prototypes and (probably) making mistakes will cost you more than just using three boards. And as @mcer12 said, you're very welcome to use this project as a basis, but I don't have the time to design custom PCBs.

@aceisace
Copy link

@vroland Hi and thanks for this awesome project! I really like the extensive documentation. Kudos!

Just had a question in regards to 2 parts used in the v6 board. I've been trying to look for these parts for a few hours now, but no luck yet:

  • TPS651851RSLR
  • TPS2113APW

Could you please help with sourcing these parts? I've already ordered the rest of the bom and a stencil too, so just waiting for these parts.

I realised the TPS651851RSLR IC probably came from E-Ink. I compared the v5 and v6 boards, is there any specific reason for using a rather exotic chip or at least one hard to find when the v5 didn't need it?

@mcer12 I'm looking to design something along the lines of your reddit esp32 epd board. Are there any project details available somewhere? Just looking for a simple board for driving the 9.7" epd displays

@vroland vroland pinned this issue Nov 21, 2021
@vroland
Copy link
Owner Author

vroland commented Nov 21, 2021

Half a year ago, these chips wheren't that exotic, but that seems to have changed a bit, unfortunately.
Two weeks ago, the TPS65185 was still in stock at digikey...
I guess your best bet right now is aliexpress :/ Or, if you want to design your own board, you can opt for the v5 board instead. This solution doesn't have some nice features of the specialized e-Ink IC, but if its at least available it seems worth it.
The TPS113 is just a power switch IC to switch between battery and USB supply. There should be a number of similar chips, if you design your own board anyway.

@manotroll
Copy link

a question does not have a graphical interface right?
what is the approximate cost to assemble it is not written anywhere
it's an interesting project I'm studying programming and this idea crossed my mind but it's already here
a color reader would be awesome

@Sofiman
Copy link

Sofiman commented Apr 29, 2023

Hello, I am trying to get to make a DIY e-reader and I was wondering if anyone tried the ED060XH3? I'm considering buying either a ED060XH3 for the touch screen or the ED060XC3 because it has a great resolution.

@mcer12
Copy link
Collaborator

mcer12 commented Apr 29, 2023

No but it should work assuming just based on the looks. XC3 works but ED060XD4 works best with stock waveform.

@Sofiman
Copy link

Sofiman commented Apr 29, 2023

I can't figure out the differences between XD4 and XC3 expect the production date. I considered XC3 has it is cheaper. If anyone has a recommendation for a 6" model with 16 grayscale color (touch screen would be better).

@mcer12
Copy link
Collaborator

mcer12 commented Apr 29, 2023

You ask for recommendations when you were just given one :D XC3 and XD4 are almost the same but XD4 has visibly better picture with epdiy and is therefore the best option. For more options look at the table of supported displays on projects main page.

@mcer12
Copy link
Collaborator

mcer12 commented Apr 29, 2023

There should be either XC3 or xd4 available on Ali with touch. More expensive tho.

@Sofiman
Copy link

Sofiman commented Apr 29, 2023

Okay thank you! For the recommendation, I meant another display than these ones that I didn't heard of. I'll consider the XD4 then. I taught about buying without touch and adding a touch overlay later with a touch controller from adafruit.

@mcer12
Copy link
Collaborator

mcer12 commented Apr 29, 2023

By all means try the XH3 to extend list of supported displays, it should work but no idea about picture fidelity. You will also have to implement touch which would also greatly help the project.

@Sofiman
Copy link

Sofiman commented Apr 29, 2023

Okay I'll try that. Unfortunately I can't found any data sheet for XH3. I'll have to wait and test but before that I need to figure out how can I get a v6 board.

@sail2themoon
Copy link

@mcer12 you've mentioned, the ED060XG1 should work. Has anyone tested this?

@lanistor
Copy link

lanistor commented Apr 9, 2024

You ask for recommendations when you were just given one :D XC3 and XD4 are almost the same but XD4 has visibly better picture with epdiy and is therefore the best option. For more options look at the table of supported displays on projects main page.

I'm using XD4 also, when rendering partial area, other areas not rendered will slowly turning gray, have you faced this problem?

I'm using the v5 board, and the XC3 waveforms.

@letshin
Copy link

letshin commented May 22, 2024

For the JLPCB assembly - is there a good combo of self-soldered parts vs assembled parts that can be done to maximise the cost-time tradeoff? It seems like the esp32 is the first thing that can be self soldered to help with costs.

@martinberlin
Copy link
Collaborator

Hello @letshin this is actually up to you to decide. I always solder the ESP32S3 by hand (Only fabricate v7 though)
But you can also solder only complicated components like TPS65185 and the rest do all by hand. It's really a personal decision. I prefer to have all assembled except MCU. Since you need to always select Standard assembly for ESP32** chips which makes the price go quite a lot higher

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

No branches or pull requests