2.66 inch Pico ePaper Module with nano-gui #11479
-
I am trying to get a 2.66 inch ePaper module from waveshare to work with custom fonts and a Raspberry Pico. It came with a sample project that I found here. Unfortunately, as I found out, the framebuffer in MicroPython does not support different font sizes. Looking further, I found the fantastic nano gui project and tinkered with it. The project only provides drivers for the 2.9 inch epaper screen. Thinking that the differences between the 2.9 and 2.66 screens could not be that big, I changed some smaller things like the height. Unfortunately, the screen remained empty. As the low level commands are a bit beyond my level, do you guys have any ideas on how to modify the driver for the 2.66 inch screen or any ideas on what I am overlooking? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 12 replies
-
Supporting a new display is non trivial. First I have to buy a unit, then study the Waveshare code and port it to MicroPython. I know some Waveshare drivers are already in MP, but their code is such that producing something worthy of release constitutes days of work. By all means experiment, but my efforts are on this display which provides a number of great facilities. Notably partial updates (supported) and greyscale (WIP). I recommend new users of ePaper to use that display. |
Beta Was this translation helpful? Give feedback.
-
I will find time to look at this, but it may b a couple of days before I can do it. There are two problems with unsupported displays. One is where they use a different controller chip. I suspect this isn't the case given the results you have achieved. But the other problem is where the same controller chip is used, but is wired to the display hardware in a different way. I suspect that may be why it is mirrored. In general to fix a mirror-image display you have to reverse the order in which rows are output, which reflects the image about the horizontal axis, and, in each row, reverse the order in which pixels are output. This reflects the image about a vertical axis. You may be able to achieve this with the data entry sequence command in the spec. |
Beta Was this translation helpful? Give feedback.
-
I've now studied your driver and the waveshare driver. You'll note that the Waveshare driver outputs pixels in right-to-left order, which may well explain the mirror image about the vertical axis. If I were writing a driver for this display I would start from the Waveshare code rather than from my driver for the 2.9" Adafruit display, which uses a completely different controller chip (the IL0373). I think copying Waveshare's right-to-left rendering should fix your problem. I have taken this opportunity to update the 2.9" driver. It will now run demos intended for non-EPD displays (albeit with a lot of display refreshes). |
Beta Was this translation helpful? Give feedback.
I've now studied your driver and the waveshare driver. You'll note that the Waveshare driver outputs pixels in right-to-left order, which may well explain the mirror image about the vertical axis.
If I were writing a driver for this display I would start from the Waveshare code rather than from my driver for the 2.9" Adafruit display, which uses a completely different controller chip (the IL0373). I think copying Waveshare's right-to-left rendering should fix your problem.
I have taken this opportunity to update the 2.9" driver. It will now run demos intended for non-EPD displays (albeit with a lot of display refreshes).