Drive RGB666 Display by Raspberry Pi Dpi Interface
by yaozong in Circuits > Raspberry Pi
1871 Views, 3 Favorites, 0 Comments
Drive RGB666 Display by Raspberry Pi Dpi Interface
![1d056be18e284acc566122b1c8b3a90.jpg](/proxy/?url=https://content.instructables.com/FZP/YDPC/L0QQ09JS/FZPYDPCL0QQ09JS.jpg&filename=1d056be18e284acc566122b1c8b3a90.jpg)
I was planning to make my own handheld game console. In my opinion, the display is the most essential component for retro game consoles. I tried the SPI display before, but the performance is limited due to the speech of the SPI clock. DSI interface would be a neat choice if the motherboard is raspberry pi 4/3b/cm4 etc. But the price of these models is crazy recently, so I chose the raspberry pi zero 2w.
Unfortunately, this model doesn't contain a DSI interface, so I am trying to drive the RGB666 display by DPI interface consisting of 40PIN GPIOs.
Supplies
![5MP-FS.jpg](/proxy/?url=https://content.instructables.com/F2A/KE8J/L0QQ0BO2/F2AKE8JL0QQ0BO2.jpg&filename=5MP-FS.jpg)
![1024px-5inch-LCD-for-Pi-4.jpg](/proxy/?url=https://content.instructables.com/F02/ZTBK/L0QQ0BO3/F02ZTBKL0QQ0BO3.jpg&filename=1024px-5inch-LCD-for-Pi-4.jpg)
- WaveShare DPI 5inches 800*480 display
- Pins converting board
- Raspberry pi zero
![d32c5d916c178e3d8c849c7ef580b86.png](/proxy/?url=https://content.instructables.com/F9M/CBT3/L0QQ0BQX/F9MCBT3L0QQ0BQX.png&filename=d32c5d916c178e3d8c849c7ef580b86.png)
![b8859e85ab9ad096c895f12fc1a9196.png](/proxy/?url=https://content.instructables.com/FCG/A8GZ/L0QQ0BRK/FCGA8GZL0QQ0BRK.png&filename=b8859e85ab9ad096c895f12fc1a9196.png)
- Connect SSH service via Putty to the raspberry pi.
sudo nano /boot/config.txt
- Edit the file as below
[pi4] # Enable DRM VC4 V3D driver on top of the dispmanx display stack dtoverlay=vc4-fkms-v3d #dtoverlay=vc4-kms-DPI-5inch #max_framebuffers=2 dpi_timings=800 0 40 48 88 480 0 13 3 32 0 0 0 60 0 32000000 6 [all] #dtoverlay=vc4-fkms-v3d overscan_scale=1 dtoverlay=dpi24 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 dpi_output_format=0x6f005 hdmi_timings=800 0 40 48 88 480 0 13 3 32 0 0 0 60 0 32000000 6 disable_overscan=1
- The parameters explanation:
- CTRL+X to save the changes
- Then reboot the system
Sudo reboot
![114acabbb1a0232ee029000c6517741.jpg](/proxy/?url=https://content.instructables.com/FEF/AENT/L0QQ0D0X/FEFAENTL0QQ0D0X.jpg&filename=114acabbb1a0232ee029000c6517741.jpg)
After a while, the 800*480 60Hz display is here. It's capable of playing the ACT games!
tAnd that would be a good foundation for my console. See you in PCB making part.