VGA interface for Raspberry Pi Zéro & 2,3,B+
DPI (Display parallel Interface)
Like VGA666, this pcb uses dpi interface (in mode 3 to free gpio 18 & 19)
see https://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md
only the necessary bits of the dpi are redirected to the 40-pin GPIO port, with the vga565.dtbo file loaded at startup
here is the code of the file:
/dts-v1/;
/plugin/;
/{
compatible = "brcm,bcm2708";
// There is no VGA driver module, but we need a platform device
// node (that doesn't already use pinctrl) to hang the pinctrl
// reference on - leds will do
fragment@0 {
target = <&leds>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&vga565_pins>;
};
};
fragment@1 {
target = <&gpio>;
__overlay__ {
vga565_pins: vga565_pins {
brcm,pins = <2 3 4 5 6 7 8 12 13 14 15 16 17 20 21 22 23 24>;
brcm,function = <6>; /* alt2 */
brcm,pull = <0>; /* no pull */
};
};
};
};
/boot/config.txt
# disable i2c, pin use by h-sync & v-sync
dtparam=i2c_arm=off
dtoverlay=vga565
dpi_output_format=0x13
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=16
#---------------- dpi_mode line ---------------------
#---> 640x480 60hz dpi_mode=4
#---> 800x600 60hz dpi_mode=9
#---> 1024x768 60hz dpi_mode=16
#---> 1280x768 60hz dpi_mode=23
#---> 1280x800 60hz dpi_mode=28
#---> 1280x960 60hz dpi_mode=32
#---> 1280x1024 60hz dpi_mode=35
#---> 1360x768 60hz dpi_mode=39
#---> 1366x768 60hz dpi_mode=81
#---> 1400x1050 60hz dpi_mode=42
#---> 1440x900 60hz dpi_mode=47
#---> 1600x1200 60hz dpi_mode=51
#---> 1680x1050 60hz dpi_mode=58
#---> 1920x1080 60hz dpi_mode=82
#---> 1920x1200 60hz dpi_mode=69
#---> 1920x1440 60hz dpi_mode=73
alternate config, no need dtbo file
# disable i2c, pin use by h-sync & v-sync
dtparam=i2c_arm=off
gpio=2-8,12-17,20-24=a2
dpi_output_format=0x13
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=16
#---------------- dpi_mode line ---------------------
#---> 640x480 60hz dpi_mode=4
#---> 800x600 60hz dpi_mode=9
#---> 1024x768 60hz dpi_mode=16
#---> 1280x768 60hz dpi_mode=23
#---> 1280x800 60hz dpi_mode=28
#---> 1280x960 60hz dpi_mode=32
#---> 1280x1024 60hz dpi_mode=35
#---> 1360x768 60hz dpi_mode=39
#---> 1366x768 60hz dpi_mode=81
#---> 1400x1050 60hz dpi_mode=42
#---> 1440x900 60hz dpi_mode=47
#---> 1600x1200 60hz dpi_mode=51
#---> 1680x1050 60hz dpi_mode=58
#---> 1920x1080 60hz dpi_mode=82
#---> 1920x1200 60hz dpi_mode=69
#---> 1920x1440 60hz dpi_mode=73
Dual Screen (VGA + HDMI)
need raspbian buster
edit file /boot/config.txt
at the end of the file, add line:
[all]
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2
edit file /usr/share/X11/xorg.conf.d/99-fbturbo.conf
This is a minimal sample config file, which can be copied to
# /etc/X11/xorg.conf in order to make the Xorg server pick up
# and load xf86-video-fbturbo driver installed in the system.
#
# When troubleshooting, check /var/log/Xorg.0.log for the debugging
# output and error messages.
#
# Run "man fbturbo" to get additional information about the extra
# configuration options for tuning the driver.
#Section "Device"
# Identifier "Allwinner A10/A13 FBDEV"
# Driver "fbturbo"
# Option "fbdev" "/dev/fb0"
# Option "SwapbuffersWait" "true"
#EndSection
Section "Device"
Identifier "Raspberry Pi HDMI"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "ShadowFB" "off"
EndSection
Section "Device"
Identifier "Raspberry Pi DPI"
Driver "fbturbo"
Option "fbdev" "/dev/fb1"
Option "ShadowFB" "off"
EndSection
Section "Monitor"
Identifier "HDMI"
EndSection
Section "Monitor"
Identifier "DPI"
EndSection
Section "Screen"
Identifier "screen0"
Device "Raspberry Pi HDMI"
Monitor "HDMI"
EndSection
Section "Screen"
Identifier "screen1"
Device "Raspberry Pi DPI"
Monitor "DPI"
EndSection
Section "ServerLayout"
Identifier "default"
Screen 0 "screen0" 0 0
Screen 1 "screen1" RightOf "screen0"
Option "Xinerama" "on"
EndSection
Remote Desktop MultiMonitor
install freeRDP
sudo apt-get install freerdp2-x11
start freeRDP session
xfreerdp /v:<computer name or IP> /u:<user> /d:<domain> /sound:sys:alsa /multimon
or
xfreerdp /v:<computer name or IP> /u:<user> /d:<domain> /g:<gateway name or IP> /gu:<gateway user> /gd:<gateway domain> /sound:sys:alsa /multimon
Audio Interface
audio interface is connected to gpio 18 & 19 (PWM)
see https://learn.adafruit.com/adding-basic-audio-ouput-to-raspberry-pi-zero/pi-zero-pwm-audio
/boot/config.txt
# Enable audio for PiZero(loads snd_bcm2835)
dtoverlay=pwm-2chan,pin=18,func=2,pin2=19,func2=2
dtparam=audio=on
SPI Interface
GPIO 9 , 10, 11 , 25, 26, 27 can be used as SPI , whit overlay spi0-cs, with CS redirection to gpio 26 & 27
/boot/config.txt
# uncomment to use spi0 with cs0 & cs1 retirected on pin 26 & 27
dtparam=spi=on
dtoverlay=spi0-cs,cs0_pin=26,cs1_pin=27
Installation
Copy vga565.dtbo to /boot/overlays/ and copy content of config-example.txt to /boot/config.txt
Révision
rev1
bad vga footprint, hole too small
rev2
change vga footprint
move j3 & j5
rev3
add GPIO25 to J4 connector
add j6 DC 3.5x1.3 connector
VGA interface for Raspberry Pi Zéro & 2,3,B+
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(1)
- Likes(6)
- Rudy Panigas Jun 23,2024
- Engineer Jan 16,2024
- Mr. Marsupial Jan 25,2023
- Engineer Jul 23,2021
- Prr0 Aug 03,2020
- Engineer Jul 27,2020
- 2 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
-
10design
-
10usability
-
10creativity
-
10content
More by Oleg Oleg
- Development Board STM32F103RET6 Development Board Series STM32F103RET6Resources on the board3.3/5.0/12V power input/output pinReset ...
- DAPLINK and STM32 minimum system combination DAPLINK and STM32 minimum system combination, one data cable can complete the download and debugging...
- USB to RS232 This is a program verification board. The main verification content is the function of USB to RS232 ...
- ESP Air Burner The ESP downloader with Air Burnner interface uses probes instead of DuPont cables.
- Docking station USB3.1 Using GL3520 USB 3.1 HUB chip,Supports super high speed, high speed and full speed USB connection, f...
- RX5808 open source receiver 5.8g open source receiver, can receive 5.8g signal, AV video signal output. Rx5808 dual-reception fu...
- 5.8G image transmission module It can be used for AV signal audio and video wireless transmission; baby monitor; wireless camera se...
- GRBL-ESP32 esp32s 3d is suitable for GRBL and marlin software
- STM32 Sensor Node A Small STM32F103C8T6 board with all functional pins exposed. Similar to the BluePill Board except:N...
- 2.8 inch TFT touch screen The module uses a 2.8-inch TFT color LCD screen. The module is compatible with punctual atomic 2.8TF...
- LED dot matrix clock LED dot matrix electronic clock based on 51 single chip microcomputer.Based on STC15W4K series ultra...
- STM32F411Cx 401Cx minimum system + J-LINK debugger The STM32F411 / 401 microcontroller belongs to the STM32 Dynamic Efficiency series. These devices ar...
- Small passive DC constant current electronic load IntroductionA small passive DC adjustable constant current (CC) electronic load with temperature-con...
- Small jlinkV9 downloader V1.0 Adopt typec interface, stm32f205 master control, lead SWD, SWO, support virtual serial port, resista...
- IP2325 dual string lithium battery charging module Miniature charger for dual lithium batteries.Since the IP2325 does not have a charge balancing funct...
- Electronic switch The operating voltage is within 30V. Depends on the PMOS voltage.
- Power supply module NAE20S08 Is based on SY8288A / JW5068A series power supply ic Volume: 10x10x6mm Input range: 4-23vin Output: ...
- Solder paste dispenser A portable miniature intelligent electric SMT solder paste dispensing pen supports quantitative extr...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
129 0 0 -
DIY Laser Power Meter with Arduino
191 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
172 0 2 -