otosan-maker wrote: ↑2024-04-01 10:52
I have been working on this for 2 months, and it is the last try.
I have tried to connect a general ili9488, a generic one I bought in Aliexpress, I am sending you two photos. I have no luck and I thought that the luckfox might be broken. So I bought the Waveshare kit and it works great. The controller is the same, so I think I can connect it using the same pins. I know the SD is a different one, so the touch sensor. But the display must be the same. I know it is difficult to debug a type of display you do not see. Why are you listing compatible devices? is possible to connect other devices?
I have tried to connect also an ili9341, it is not in the list of compatible devices, but the kernel supports it. I have created a framebuffer device /dev/fb0, but it shows nothing. I can connect these devices to a Raspberry Pi, so it is not a hardware problem.
Are you considering developing a tutorial to connect any large, generic TFT display (I want to develop a PCB to connect it)? I want to migrate a personal project (
https://hackaday.io/project/187213-gald ... d-computer) to luckfox, but I need a display.
Thanks
I apologize for not expressing my confusion clearly earlier. I still have some unclear points regarding your recent response. Did the test program you used for the ili9488 screen purchased from Aliexpress fail to run successfully (similar to the link
https://wiki.luckfox.com/Luckfox-Pico/L ... sTouch-LCD), or did it fail to run as a framebuffer device?
If it's the former, I haven't debugged Aliexpress's TFT before, but I can still offer some simple suggestions:
1. Check if the power levels match the logic levels (SDA SCL) pins. If this screen doesn't use level conversion chips to save costs, it's easy to encounter issues with it not working properly.
2. Try adding pull-up resistors to SDA. Although theoretically, you don't need to add pull-up resistors for SPI communication compared to I2C communication, adding pull-up resistors can stabilize the signal, requiring lower driving capabilities from Luckfox's pins. This might be because the screen's circuit board design targeted scenarios where it would be used with MCUs with stronger pin driving capabilities, neglecting the screen's universality.
If it's the latter, we haven't added support for the ili9488 screen in the kernel's fbtft yet. However, theoretically, framebuffer support for the ili9488 screen is universal, but this is contingent on the demo running normally. We may attempt to add support for the ili9488 fbtft driver in the future, and we'll notify you as soon as it's completed.
Luckfox-pico's pin design philosophy aims to be compatible with Raspberry Pico's pins, allowing modules previously used with Raspberry Pico to also work with Luckfox-pico. We list compatible devices because during the product development process, we tested Luckfox-pico's functionality with peripherals from Waveshare, an excellent hardware module manufacturer. Partnering with them helps avoid hardware issues to a great extent. It's also possible to use devices from other manufacturers as Luckfox-pico's hardware and software designs are open.
Regarding the issue with ili9341, without relevant hardware, it's difficult for me to pinpoint the problem, especially with TFT devices. The appearance of the /dev/fb0 device indicates that there are no issues with the driver and device tree. The driver's location is <Luckfox-pico Sdk>/sysdrv/source/kernel/drivers/staging/fbtft/fb_ili9341.c. You can see there's no validation for the connection operation, meaning it's the process of Luckfox-pico sending data to the TFT unidirectionally. You can try debugging it on hardware, such as with the approach mentioned earlier for ili9488, or using a logic analyzer.
Support for large screens is not currently in our plans, but we'll do our best to help with any software-related issues you encounter.