Things that i don't like and that i feel they should ideally fix: No access to i2c. I2c would provide easy connection to sensors and easy IO extension. The i2c bus is used internally for the display touch panel connection, which means the pins aren't repurposed and can support numerous additional devices in parallel on the same bus! No access to native USB. So i can't even implement a custom USB device on the ESP32. What i'd like is a set of solder jumpers to be able to switch USB from UART to native USB. And also an actual second UART connector for the one capable of programming. Alternatively, i want two USB ports and maybe a solder jumper or at least a couple diodes to select where the processor will be powered from. Another improvement would be an SPI connector. A second SPI device can be multiplexed in via IO38. I also suggest connecting 0-2 pins of each colour channel to the highest bits of the same channel, old trick. A sensible compromise could be to also delete G2 from the display and repurpose it as an IO pin. I'm also not sure what DE is good for, whether it should be driven by the micro, or maybe fold it together with LCD_BL_CTR. "Persistence of vision". No. The system is simply not vblank-synchronised or double buffered and ends up scanning out intermediate state of the display, which looks broken, because the image must be scanned out whether ready or not, so through part of the scanout, it scans out the result of blanking operation, and through part, the result of particle draws. If you have to work with something like that, you'll make it much easier on your eyes by never clearing the whole screen, partitioning it into tiles, and issuing all drawing commands for one tile at a time, and you'll have to clip the individual draws. This is actually how object based drawing works in LVGL, it already runs in tiles, and you're bypassing this mechanism by issuing draw commands via LovyanGFX (essentially Adafruit GFX like library) manually.
@@BytesNBits Oops i'm dumb, there is no USB because the pins have been occupied with i2c bus. There will be no USB unless two sufficiently capable pins can be liberated somehow and i2c moved.
It looks correct but be careful with the buffer size. There's only a limited amount of RAM - docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/memory-types.html#dram
Masterclass of modern display handling. I have the 7 inch display with the yellow pcb from ALI but it only works until now with the Arduino GFX library....which i dont like at all. Like the majority of display users i started years ago with Bodmers tft_eSPI.... really excellent and fundamental work, but it was Lovyan who based his library on tft_eSPI and integrated the capacitive Touchscreens . Thank you very much for this content ....really appriciated. greetings from Germany
I'm not sure. Can you run just a simple program that maybe just sends stuff to the serial link just to check the basic system is OK. Then expand from there to try to catch what's knocking it out. Make sure your power supply is OK.
@@BytesNBits I was able to solve that problem, but I have another question. I want to connect an I2C sensor, but the I2C pins are already connected to the touchscreen and can't be used again. Are there any other pins I can use for the 7" display? Thank you very much.
Great. It's a lovely display if you want a control panel for your project. Bit lacking on the IO side but with the WiFi and Bluetooth you can get around that.
Why do you assume we know what your talking about? What is a class what is an instance? I remember you were asking for our input on programming instructional series but nothing has transpired.
Unfortunately some aspects of the project work require different levels of knowledge. This one needed a bit of object orientated coding to get it to work which I didn't have time to explain - it's a big topic. think of it as a pointer to topics you need to find out about. I will be covering C++ coding at some point but there are just too many projects to work with and the coding tutorials don't seem to perform as well as other topics so they tend to get pushed back a bit.