Closed mcer12 closed 3 years ago
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:
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 :)
Thanks for the answers!
3) 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 :)
4) 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 :)
5) awesome, will check it out
6) 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.
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.
I guess I will have to order the wrover module then...
ED097OD2 is the version with digitizer. Seems it might be the same thing with the digitizer slapped on.
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 ;) ).
Is this display compatible? Seems like it should be the same.
Yes, that one should work, it will have a lower contrast though (TC2 has 50% more than OC4, not sure about OC1). And you might have to adjust the Grayscale timings if they are different from the OC4.
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 :)
Is this display compatible? Seems like it should be the same.
I had a problem with the display from this seller. The quality was awful (it had glitches, artifacts and low resolution), I opened a dispute and got 15euro refund
So, I would advise taking this one It is the original one
How's the contrast on the one from your link?
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
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 ;)
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
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
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 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.
Ok, here we go:
I look forward to what you'll come up with ;)
2) 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.
@vroland I did some checking with the datasheet of the display. What I found out is this:
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.
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 ;)
I wasn't able to find datasheet for ED097TC2, only the other mentioned models, can you provide a link?
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 ;) )
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:
Maybe those rails can be supplied by separate converters? I have difficulty finding inverting converter that's not insanely expensive
Schmematic is done though I will have to thoroughly check it. I've added a second LT1945 just in case my "hacky" solution causes issues. When making the schematic I found a dead flag EP_RL which doesn't seem to be connected anywhere... can you confirm it's just supposted to be connected to 3.3V? It's pin 11 on the connector.
Here it is: https://imgur.com/a/3uvm93z
Might I add a wish: break out the unused ESP32-WROVER-pins to a 2.54 header.
I want to add some i2c- and serial devices.
@holgerlembke there are only 3 GPIOs left (you can use these for soft i2c but I am going to use them for buttons in my project). This may be solved by another chained shift register, maybe not, my knowledge is limited here :) @vroland could have more insight with this.
3 would be ok for i2c (50% safety margin :-). Add a MCP 23017 (or so) gives 16 io-ports, that should be enough for 64 buttons. Fortunately my CO2 sensor already has been i2c-o-fied.
@mcer12 RL and UD are specified as "scan direction" in the datasheet. However, for my displays, they either do nothing or keep the display from working when I apply other levels. Running out of pins, I fixed RL as UD (vertical scan direction) seemed more useful. Maybe they work for some 6" displays, so I did not remove them, yet. Judging by the schematic, that prototype board will not be simple and small ;) But I look forward to seeing the results.
@holgerlembke The great thing about the ESP32 is that you can route pretty much any peripheral to any pin using the GPIO matrix ;) So with 3 pins, you could do UART, I2S or even SPI. In the worst case, just add a small Atmega and send events to the ESP.
@vroland so you have the RL connected to 3.3V? Just making sure. Regarding the board, it should be fairly small, but it will hide under the screen anyway and there's plenty of space :) The buttons will be on a separate pcb.
Yes, I do. Not sure if this is needed though.
What exactly are you building, btw?
@vroland I will just share the reddit post again, see my explanation under the post, I want to do the same thing as I did on the waveshare 7.5" display (which is way easier to work with btw :D ) but larger and hopefuly cheaper. I am waiting for the final pcb now for the waveshare display, I will share photos once it's assembled :)
Oh, I forgot, sorry. But will be permanently connected to the network and wait for updates or will it sleep / wake up based on a timer?
It will wake up every few minutes ;)
WOW, I noticed you added support for ED133UT2. Where to get it and what is the price (if it is not top secret :) ?
See https://hackaday.io/project/168193-epdiy-976-e-paper-controller/log/180930-bigger-is-better ;) It was sold as PENG133D for ~200$. However, it seems to take the controller to its limits, since for full contrast, the refresh is slower than I would expect. So I suspect it draws too high peak currents to deliver through the +-15V regulators. But I will have to confirm with an oscilloscope. However, If you do not depend on fast refreshes, it seems to be fine ;)
@vroland One by one the components are arriving finally, most notably the gorgeous display :) I think replacing the super inefficient 15V regulators with second buck converter will help drop the consumption drastically and allow for these large displays.
Same here. Out of free time, still missing some parts... Got two ED097TC, building some mounting/holder for development.
Meanwhile spend some time toying with
that shall run on li-io battery. currently testing runtime. no idea were it will end.
@mcer12 I'm curious to see your results ;) I already have a pcb with a bodged MCP170033 which already helps a lot with standby current. So for infrequently updating displays, this is already a big improvement.
@holgerlembke Did you do any measurements of power consumptions with this?
I don't have equipment to measure power consumption at that scale. I use a "known" li-io cell and will wait until it stops updating (the lower number is a quick hack total runtime display). After recharging the cell I might get a ballpark consumption. I hope.
It is a "TTGO T5 V 2,3 ESP-32 e-ink paper" and as far as I see, the designer didn't had power saving in mind. It had a blue LED in the power supply path... I removed it. But what else might be bad? I didn't research it.
I toyed around with GxEPD and build a partial update with single-digit-update on demand. I did not manage to understand how to get a update region from font sizes, text boxes, cursor positions etc. I had to add some offsets, I didn't find a reason, why... There seems to be no docu, not in .h-file, nowhere... I might have missed something.
This esp32 RTC has a runtime error of about 4%. So no accurate time keeping possible. I added a DS3231. 32 khz crystals could have been added (GPIO 32/33 is free) but I'm negative biased about their quality (ds1307 are notoriously bad...). It currently does a weekly Wifi-rtc update.
Wakeup from Deep Sleep is done via RTC IO, this consumes more power than RTC CNT, but I have no idea about its dimension in real life.
I will update about the end result....
662:15:20.
So almost 28 days.
Well, depending on how often you update that is not bad, but not that good either...
@vroland I have another one for you :) Is SMPS_CTRL useful at all? From what I understand it can be ommited completely as the regulators have their own switches (NEG_CTRL, POS_CTRL). LT1945EMS draws <1uA in shutdown according to schematic :) Or did you have some other reson for it?
Hm, good point. At least right now, I don't remember any reason :D
@mcer12 Any experience with the FAN5331 to share, yet? ;)
@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.
@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
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.