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

Questions about the components #21

Closed
mcer12 opened this issue Jul 8, 2020 · 71 comments
Closed

Questions about the components #21

mcer12 opened this issue Jul 8, 2020 · 71 comments
Labels
documentation Improvements or additions to documentation

Comments

@mcer12
Copy link
Collaborator

mcer12 commented Jul 8, 2020

Hi @vroland I love this and I am eager to make this thing! I plan on making it as compact as possible and also as cheap as possible, so I have some questions. Hope this is the right place to ask those...

  1. I struggle with the BOM as the components are not marked with designators according to the schematic. Would it be possible for you to update the bom with component numbers?
  2. in schematic IRLML6402 is used but it seems large mosfet is used on the pictured board (or is that a different component?). Is that just due to newer schematic revision?
  3. Is there a reason why such a large regulators are used? There seems to be quite a few alternatives in SOT-89 like:
    https://lcsc.com/product-detail/New-Quadratic-Unclassified-Data_MDD-Microdiode-Electronics-78L15_C414028.html
  4. Is ESP-WROVER required for its larger memory or can usual ESP-WROOM-32 be used?
  5. I don't see the potentiometer in the schematic, also is it possible to provide resistance values for each display type?
  6. Any particular reason why 74HC4094 is used instead of more widely available 74HC595? I see there are some differences between the two.
  7. I see AMS1086CD-3.3 is used in BOM and LT1086 in the schematic, both of which have very large quiescent current. I use HT7333 in my ESP projects without problems. Maybe separate regulators for the display and the ESP would make sense? It would also be possible to easilly cut power to the display circuitry that way when the refresh is done to save more power.

Please don't take these questions as nitpicking on your awesome project, it's just me being OCD. I want to optimize everything as much as possible so it can be used in compact low power projects.

@vroland
Copy link
Owner

vroland commented Jul 8, 2020

That's good to hear ;) Not all things here where conscious decisions, sometimes I just went with what worked for me. But some things I can explain:

  1. Yes, I should update that some time... 😅
  2. The IRLML6402 (Q1) is actually quite small (SOT-23 package). These big things are all LDOs.
  3. Mainly because I didn't optimize that much for size ;) But another reason is head dissipation and current output (0.1A vs 1.5A): At least according to the datasheet, the display can have large current spikes when powered on. And of course, normally you will disable power as soon as the drawing is done. But if you don't, such a small regulator may not handle generated heat, which can be significant when dropping from 22V to 15V. But you're welcome to try it :)
  4. The first version of the PCB actually used the WROOM-Module and the driver itself does not require the additional memory, but for most applications you'll need it. For the 9.7" display, the internal memory cannot even store a full framebuffer, much less two as used in the terminal application.
  5. The potentiometer is the variable resistor feeding into the amplifier for the VCOM voltage. Unfortuately, this voltage varies a lot, even for displays of the same type and is quite important for the output quality. So I think a trimmer is really needed here.
  6. I used the 4094 because it has an additional output register, which holds the old state while the internal shift register is updated. With the 595 you can only set the outputs to high-impedance, which would deactivate the switching power supply for the display every time I change a value in the register.
  7. As in 3. I have concerns about output power, especially if you power the display from 3.3V. This might be alleviated in the newest revision (see Terminal example 'crashes' USB Serial chip #3, Selection jumper 5v/3v, also gnd planes #6) as you can also power the display via 5V, but I don't want to be forced to actually have 5V available. But maybe there is a more efficient, package-compatible regulator? Or another way to reconcile those needs?

I hope that answers some of your questions. I'm always open for suggestions and improvements, I'm only starting to learn about electronics myself :)

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 8, 2020

Thanks for the answers!
3. I think power dissipation isn't an issue here since it will be only for very short bursts. The datasheet claims 2W absolute highest peak for the 9.7" display which doesn't seem too bad.
4. that's unfortunate... is it only a flash memory issue (4mb vs 16mb) so 16mb wroom will also work? or is it using the additional SPI PSRAM of the wrover module?
5. I saw an issue here that the trimmer adjusting caused something else to burn, which I would like to avoid :D Any suggestions about that?
7. It might make sense to use low quiescent current LDO for ESP32 and another beefier one with high side switch for the display, that would be cut off when in deep sleep. For low power projects the AMS1086CD-3.3 is a no-no :)

@vroland
Copy link
Owner

vroland commented Jul 8, 2020

  1. Hm, I according to their data sheet those regulators have a thermal resistance of 160°C/W (at least the negative variant). But I could order those next time I order anyway and see how they do.
  2. Flash memory is not a problem, If you only want to display images stored in flash , a WROOM would do. But if you want to compose an image in memory, you need the additional PSRAM.
  3. I think that was about the unused second Opamp, which introduced interference. This should be fixed by Sebastius' PR.
  4. Yes, that would probably make sense, tough it would use even more components... However, for low-power operation you could just leave out the AMS1086 and USB-to-UART all together, change the jumper to power from 5V (which then could be basically any voltage the LT1945 can handle) and supply 3.3V and 5V via the exposed pins. Then, you could even use a Lithium battery which is directly connected to "5V" and only and feed the output of a low-power LDO into the 3.3V pin.

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 8, 2020

  1. It's worth noting that
    a) the peak is just for a fraction of a second,
    b) the power is divided between all the voltage inputs of the screen, there won't be 2W flowing through a single regulator ;)
    and finally
    c) The power dissipation is not the same as current draw of the display as the regulator only dissipates the voltage difference between VIN and VOUT which is ~5V and the current is very small. I will definitely give it a shot in my design :)

  2. I want to use this as a dashboard that will regularely download bitmap from a website and display it. I am already working on something but with different display, see my post here: https://www.reddit.com/r/homeassistant/comments/h9yoes/first_glimpse_of_low_power_eink_dashboard/
    but the displays are expensive and small-ish. So I want to take on the challenge with this one :)

  3. awesome, will check it out

  4. I definitely plan to embed battery & charging circuitry as well as CH340 with autoreset as I am lazy to push the buttons :) Want to make all-in-one board since the ESP32 is already embedded, there's not much sense to use external power.
    What I would like to use this for is to stream bitmaps to it from a website.

@vroland
Copy link
Owner

vroland commented Jul 8, 2020

  1. I see... Yes, it's probably fine. But If you're going to design an all-in-one solution anyway, I'm happy to just see how it goes ;) So I would appreciate if you would keep me updated. Some of those regulators seem to be available locally, so I can try them out some time.
2. I want to use this as a dashboard that will regularely download bitmap from a website and display it. I am already working on something but with different display, see my post here: https://www.reddit.com/r/homeassistant/comments/h9yoes/first_glimpse_of_low_power_eink_dashboard/
   but the displays are expensive and small-ish. So I want to take on the challenge with this one :)

That looks interesting. Maybe it could even be combined with one of those chap tablet touch digitizers to create a full-blown HomeAssistant control panel? Not sure how good these things are at conserving energy though.

4. I definitely plan to embed battery & charging circuitry as well as CH340 with autoreset as I am lazy to push the buttons :) Want to make all-in-one board since the ESP32 is already embedded, there's not much sense to use external power.
   What I would like to use this for is to stream bitmaps to it from a website.

If you're streaming from a website using the WROVER will be a lot easier, as you can just store the image to PSRAM and decode from there. With the WROOM you would probably need to pre-calculate the image data and stream in grayscale layer frames sequentially.

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 8, 2020

  1. I will do my best. Since I am ordering everything right now, it will take quite a while... :)
  2. There is a version of the kindle display with digitizer. But I am not in a position to understand the datasheet :) I will just slap a few buttons at the side of the display.

I guess I will have to order the wrover module then...

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 8, 2020

ED097OD2 is the version with digitizer. Seems it might be the same thing with the digitizer slapped on.

@vroland
Copy link
Owner

vroland commented Jul 8, 2020

Yes, there are E-Ink screen with touch, but they seem to be more expensive and do not come with a touch controller, so I think they are too much of a hassle. What I meant was basically a glass plate with capacitive touch on it, which are available for ~10$ as tablet replacement parts.
Regarding the display: If you don't yet have one, try to find the ED097TC2, as it has the best contrast and refresh characteristics of the displays I've tested so far. In my case I had to ask a seller on AliExpress (see #12 ), but they sell them for 30-40$, while Waveshare sells them for 150 (They actually removed the model number from the datasheet of their 9.7" display, but it is still present in the file if you grep for ED097TC2 ;) ).

@vroland
Copy link
Owner

vroland commented Jul 8, 2020 via email

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 9, 2020

People seem to be happy with the OC1 display, so maybe the lower contrast is due to some slight voltage / timing difference? I will try to find the datasheet for it, see if there's any difference. Thank you so much for the insights as I am barely touching the surface of the e-ink world :)

@simonrus
Copy link

simonrus commented Jul 9, 2020

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 9, 2020

How's the contrast on the one from your link?

@simonrus
Copy link

simonrus commented Jul 9, 2020

I would say, that contrast is the same (It is not graphite??). But characters are sharp and I am able to read books for hours on Kindle DX again. With the glitchy screen, it was a disaster

@vroland
Copy link
Owner

vroland commented Jul 9, 2020

Interesting, so there definitely seem to be differences in quality, which may also be the source of @mmib 's problems. I have one screen with a few dead (always white) pixels as well.
Regarding the contrast difference: The OC4 and the TC2 seem to be just different iterations of the technology. Their data sheets specify different contrast ratios (12 vs 16) and they have different timing requirements. The OC4 also had some temporary fading when i hit it with too many partial updates in a row, which the TC2 did not have (at least with the current timings). But that is all just my observations and I have to admit that I simply do most of my testing on the TC2, so some things might just be better optimized for those ;)

@mmib
Copy link
Contributor

mmib commented Jul 9, 2020

Hi, nice discussion :) I have 2x www.aliexpress.com/item/32840668114.html and it is working now, but with some artefacts. Would like to play with ED097TC2

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 9, 2020

I went ahead and ordered the ED097TC2, it hurt the wallet but I want the best quality and support in case there are any hiccups since @vroland uses it :) I will close this for now and address things as separate issues as I encounter them. Thanks for the patience and insights @vroland

@mcer12 mcer12 closed this as completed Jul 9, 2020
@vroland
Copy link
Owner

vroland commented Jul 10, 2020

Well, looks like I should be careful about linking them, as they have already raised the price for the ED097TC2 to 40$ :D On the other hand, if you buy a display anyway the few dollars extra are worth it imho.

And I should probably add some notes from this thread to the Readme, so I think I'll leave it open until then as a reminder (If that's ok with you) :)

@vroland vroland reopened this Jul 10, 2020
@vroland vroland added the documentation Improvements or additions to documentation label Jul 10, 2020
@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 10, 2020

@vroland since you've reopened the thread, I have some more questions about the schematic :) These are little more specific

  1. you use 22uH in the schematic but the datasheet for the LT1945 uses 10uH in the example... any reason for that?
  2. there are 39k resistors across L7915 and L7815, what is the purpose of those?
  3. POS_CTRL, NEG_CTRL, SMPS_CTRL all have either pullup or pulldown attached... is this necessary? Especially the R1 pullup as the shift register will be either low or high, rendering the pullup useless. Or am I wrong here? I would add a transistor to the Q1 so it will open wen HIGH, not inverted as it is now.

I will probably work on the schematic during the weekend, will share it for further discussion.

@vroland
Copy link
Owner

vroland commented Jul 10, 2020

Ok, here we go:

  1. The datasheet has a section on how to calculate the inductor value which yields something around 20uH, but 22uH was the closest available one.
  2. That design originates here, afaik, which has these resistors as well. I'm not sure if they serve a purpose though... And they have oddly specific values, too :D They could be relevant for discharging the display supply current when the regulator is turned off... Someone with a scope should test wether they change anything about the timing ;)
  3. Those are left over from the first version without shift register and can probably be removed.

I look forward to what you'll come up with ;)

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 10, 2020

  1. only thing I can think of is that it forces some current to flow so that the regulator doesn't shut down... or discharging the capacitance as you say.

That article is awesome, thank you for that. The author says:
The design has one drawback, and that's that the high-voltage generating parts are pretty inefficient: when I turn on the boost converter, the battery gets loaded with almost 100mA, even without the E-ink display connected.
The 39k resistors certainly don't help with that I guess... I will try to find a way around the 78l15 and 79l15, ideally with some switching regulators.

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 11, 2020

@vroland I did some checking with the datasheet of the display. What I found out is this:

  • 15V negative rail can draw up to ~70mA
  • 15V positive rail can draw up to ~60mA
  • -20V and 22V draw ~2.5mA max, so very little
  • gate rails should tolerate 21V and -21V respectively

https://www.mouser.com/datasheet/2/149/FAN5331-92198.pdf
This converter should be able to generate both negative and positive voltages as shown further down at the datasheet with a +-1V swing on the negative rail. But it's limited in terms of output current to 10mA on negative rail so it's only usable on the gate rails.
Is it possible for you to check how sensitive the negative gate voltage is? Let's say from -18V to -22V, if it has any glitches? If it's ok it should be OK to use this converter for the +-20V rails and LT1945 for +-15V. This setup should be much more effective. Otherwise I would use two LT1945s as I want to convert the high voltages directly from the battery input.

@vroland
Copy link
Owner

vroland commented Jul 11, 2020

As far as I know, these high voltages are the ones needed to drive TFT matrix. The matrix transistors can have large variations from manufacturing and thus high voltages are used to ensure all transistors can be driven. You can probably use (much) lower voltages than specified, but the lower you go the more pixels will not respond adequately any more. For instance the ED097TC2 is specified for +27V, -20V but my models work just fine with +22V,-20V.
With +-21V + swings you should probably be fine for most displays, but you may not be for all of them. So being able to just swap a resistor in case a display doesn't work is comforting for me ;)

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 11, 2020

I wasn't able to find datasheet for ED097TC2, only the other mentioned models, can you provide a link?

@vroland
Copy link
Owner

vroland commented Jul 11, 2020

Maybe those rails can be supplied by separate converters?

I use the waveshare datasheet: https://www.welectron.com/mediafiles/datasheets/waveshare/Waveshare-9.7inch-e-Paper-HAT-Datasheet.PDF (If you look at the PDF source, you can see that the actual title of the document is "Microsoft Word - ED097TC2 Ver 1.0-DCC.docx", although they have carefully removed the part number from the visible parts ;) )

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 11, 2020

Btw I tested the negative voltage circuit on MT3608 that I own which is pretty much the same thing as FAN5331 but cheap and widely available. Some tests I did with voltage set to 20V:

  • No load: both +20V and -20V are stable at 20V
  • Under load: positive is stable, negative goes down with additional load on negative rail. Load on positive rail has pretty much no impact on negative rail. When applying load on negative rail, I got these results.
    2mA => -19.5V, 6mA => -18V, 10mA => -17V which sounds good to me since 2mA is absulte maximum in the datasheet. EDIT: ED097TC2 has higher maximums but that shouldn't be much of a problem. Sounds good to me.

@mcer12
Copy link
Collaborator Author

mcer12 commented Jul 11, 2020

Maybe those rails can be supplied by separate converters?
I have difficulty finding inverting converter that's not insanely expensive

@vroland
Copy link
Owner

vroland commented Sep 14, 2020

Hm, good point. At least right now, I don't remember any reason :D

@vroland
Copy link
Owner

vroland commented Sep 29, 2020

@mcer12 Any experience with the FAN5331 to share, yet? ;)

@mcer12
Copy link
Collaborator Author

mcer12 commented Sep 29, 2020

@vroland I ditched it (MT3608) in the initial version of the pcb, simply using two LT1945EMS. Even though it should work, it can possibly cause issues and there's enough that can go wrong already. The pcbs should arrive this week so I will report back how it goes.
Regarding the MT3608/SX1308/FAN5331, given everything goes right, I will have to test first how the different gate voltages affect panel performance first. The negative voltage from MT3608 can swing quite a bit +-2V depending on load. Also some panels can be pickier than others about the gate voltage so it might cause problems on some and not on others. So I became quite sceptical about the idea of using it.

@mcer12
Copy link
Collaborator Author

mcer12 commented Sep 29, 2020

@vroland Here is a model of the pcb, the coils are wrong values, gonna be 10uH :) I also already found out I put the LED on the wrong side of the board :D I already have some issues and ideas for the new pcb but let's see if this works first! Hopefully you're able to access the image.
https://imgur.com/a/4v5BrYt

@vroland
Copy link
Owner

vroland commented Sep 29, 2020

@mcer12 Ah, that where my concerns as well. And as long as we have access to cheap lt1945's they are fine.
And it looks like the voltages are adjustable on your PCB with these trimers? This looks quite nice, I'm curious to the the schematic ;)

@mcer12
Copy link
Collaborator Author

mcer12 commented Sep 29, 2020

@vroland Schematic here:
https://imgur.com/a/1qGRXaA
take it with a grain of salt, I expect to be changing things as I test the pcb.

@vroland
Copy link
Owner

vroland commented Oct 1, 2020

Thanks for the schematic :) When I've got time I'll make another revision with two lt1945 that should hopefully be better at driving the large 13.3" display and consume less power.

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 4, 2020

@vroland The board works! Only the display seems somewhat oversaturated but I might've selected a wrong display in configuration :) Only minor changes will be made to the schematic (different resistors for lt1945 voltage setting). This is awesome! Some sizing changes will be made to the pcb itself as I didn't measure it quite right.

@vroland
Copy link
Owner

vroland commented Oct 5, 2020

That's good to hear ;)

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 8, 2020

Btw I've ordered some ED060XC3, it's super cheap and I hope I will make it work. There's no datasheet for it but I found one for ED060XC5 and it seems like a same thing, different flex cable. So hopefully the pinout is the same as well, will report back once I give it a try.

@vroland
Copy link
Owner

vroland commented Oct 8, 2020

Interesting... There even seems to be a more expensive version with touch and backlight, so once you have the cheap one working that might be worth a try ;) It's just funny to me how they have subtly different connector types / pinouts for every display, although the interface is always the same :D

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 8, 2020

I would guess it's because they make the displays custom according to customer's (read Amazon) specs. They send them data where they need the connector and what shape to best suit their design. I would guess the number of display types will be very close to the number of big e-reader manufacturers models :)

@vroland
Copy link
Owner

vroland commented Oct 8, 2020

I guess that would be the reason. At least most of them are "normal" FPC connectors...

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 8, 2020

If you happen find datasheet for some e-ink with touch / backlight please share it with us... I wasn't lucky so far. Since all work pretty much the same, it doesn't matter if it's different screen size.

@vroland
Copy link
Owner

vroland commented Oct 8, 2020

I suppose they use some i2c-interface to the touch controller sitting on the flex-pcb. Unfortunately, the only displays I could find pictures with the chip on it for was the ED060XH7 and it uses some obscure driver IC I did not find any datasheets for...

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 9, 2020

@vroland I am designing a connector for ED060XC5 (well, for ED060XC3 but it should hopefully match 1:1) and found one pin that is not present, "Shift direction gate driver" pin (ED trace in your schematic). ED060XC5 doesn't have it in the datasheet but both ED060SC4 and ED097OC4 have it. Can you please elaborate on that?

@vroland
Copy link
Owner

vroland commented Oct 10, 2020

In short: you can probably just wire them to 3.3V. UD and RL sound like they could control driver register shift direction, allowing to flip the image horizontally / vertically. But I could not get that to work with any of my displays. From the data sheets of controllers I have looked at they do flipping in software as well, so I would guess this never really worked or was never used, this is probably why they left it out.

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 11, 2020

Great, thanks. Btw I found this site, list of devices and displays, with images so you can see what displays are equivalents.
https://e-ink-reader.ru/chg_dsp_en.php

@mcer12
Copy link
Collaborator Author

mcer12 commented Oct 13, 2020

Another resource I found in regards with the ED060XC3. Looks like I was correct and it's the same pinout as ED060XC5. Awesome! Just scroll down and there's a section about reverse engineering of the display (ED060XD4 but it's the same as ED060XC3, probably just different manufacturer).
https://linux-sunxi.org/PocketBook_Touch_Lux_3

There's also a datasheet for ED060XG1 which includes backlight information and pinout.
https://datasheetspdf.com/pdf-file/1028822/UniversalDisplay/ED060XG1/1

I don't know if this is a correct place to share these links. Maybe it would make sense to make a sticky issue only for resources? @vroland your project, your call :)

@vroland
Copy link
Owner

vroland commented Oct 13, 2020

@mcer12 I'd suggest collecting these things in #31. That way, these discussions remain visible and the most important resources can be added to the readme. This also allows to post links to seller sites or semi-official data sheets, which do not want in the main readme file.
So I'd like this issue to basically take the role this issue has gotten now, so I think this one can be closed.

@vroland vroland closed this as completed Oct 13, 2020
@mcer12
Copy link
Collaborator Author

mcer12 commented Nov 2, 2020

Hi @vroland I am making an updated version of the board and I was wondering about the resistor on LM358. From what I understand, the 400k resistor can be removed and we can just use 1Mohm trimmer. Or am I wrong?

@vroland
Copy link
Owner

vroland commented Nov 4, 2020

That should be possible - but it may be easier to dial it to voltages that may hurt the display?

@illisilviu
Copy link

Hello! Can you please help me out with some info? I recently bought a Kindle DX graphite with a broken screen. I want to replace the screen with the higher resolution ED097TC2 (LF). Is it possible? Are they compatible? I know that the Kindle DX has the ED097OC1(LF) display by default. I compared the datasheets, and it seems that they might be compatible, but wanted to make sure and hear from someone with better knowledge.

@martinberlin
Copy link
Collaborator

Hello @illisilviu I think it will work but maybe just add a Discussions post or send me your email per private message and I add you to the slack group. Kindle DX does not have touch?

@illisilviu
Copy link

@martinberlin, I've left a message on your site. Thank you in advance for your helpful advice!

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

No branches or pull requests

7 participants