-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
LVDS add-on for Raspberry models with 40pin GPIO
Hi,
since I wanted to reduce size and complexity of my LVDS add-on board I've started to develop two new versions.
Why two versions? Simply because there are different LVDS data mappings possible: I've first tested the board with a 7in WXGA module from Sharp (LQ070Y3LW01). This has 800x400pixel resolution, 85 degree all around viewing angle, brightness is 360nits (typ.) and contrast ratio is 800:1. The display is used in R1R0 LVDS data mapping. I've provisionally mounted the display, RPi3 with attached LVDS4PI add-on to a Smartipi touch case which gives a nice fit for the display.
since I wanted to reduce size and complexity of my LVDS add-on board I've started to develop two new versions.
Why two versions? Simply because there are different LVDS data mappings possible: I've first tested the board with a 7in WXGA module from Sharp (LQ070Y3LW01). This has 800x400pixel resolution, 85 degree all around viewing angle, brightness is 360nits (typ.) and contrast ratio is 800:1. The display is used in R1R0 LVDS data mapping. I've provisionally mounted the display, RPi3 with attached LVDS4PI add-on to a Smartipi touch case which gives a nice fit for the display.
Last edited by aBUGSworstnightmare on Sun Aug 14, 2016 12:39 pm, edited 2 times in total.
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Some more pictures (only 3 per post allowed):
The board dimensions are 30x99mm, it is a 4-layer PCB.
You can find a video showing the board in operation here: https://youtu.be/JmE5L34jfi8
Picture shows the GPIO connector mounted on the bottom of the PCB for use with i.e. RPi3 (as pictured). It can be mounted on top when using the board with a Raspberry Pi Zero. This will allow to make use of the optional components: pogo-pins for 5V power supply to Raspberry and USB-A socket (will post a picture of such a setup later).The board dimensions are 30x99mm, it is a 4-layer PCB.
You can find a video showing the board in operation here: https://youtu.be/JmE5L34jfi8
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Some more pictures showing a 12.3in letterbox display (1280x480pixels) connected to RPi Zero
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
The add-on board can be used in two different mounting options: either on top of the Raspberry (right board is on top of a Zero), or below a Zero V1.3(left board).
Micro USB power cable is used for powering the RPi. This is my preferred option when using the add-on with RPi3. Could be omitted in case of the Zero - possible to simply close a solder jumper for connecting 5V to pin 2/4 on the 40-pin GPIO connector (5V; solder jumper is visible on the first picture).
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Nexus 7 LVDS adapter
As pointed out already, my adapter can be used with 6-bit and 8-bit LVDS.
An example of a display with 6-bit interface is the one from the Google Nexus 7 Gen1 (2012) tablet. Different models where used in this tablet:
- CPT CLAA070WP03XG
- HYDIS HV070WX2-1E0 The display is IPS technology (wide viewing angle >85° from all sides) and has 1.280x800pixels (WXGA resolution).
I've developed a small adapter PCB which allows me to use the original LVDS FPC from the tablet and my LVDS4PI add-on board.
Here is a video of the display in operation, connected to a RPI3.
https://youtu.be/960YQle-f2w
Here is the config.txt file used in the demo.
An example of a display with 6-bit interface is the one from the Google Nexus 7 Gen1 (2012) tablet. Different models where used in this tablet:
- CPT CLAA070WP03XG
- HYDIS HV070WX2-1E0 The display is IPS technology (wide viewing angle >85° from all sides) and has 1.280x800pixels (WXGA resolution).
I've developed a small adapter PCB which allows me to use the original LVDS FPC from the tablet and my LVDS4PI add-on board.
Here is a video of the display in operation, connected to a RPI3.
https://youtu.be/960YQle-f2w
Here is the config.txt file used in the demo.
Code: Select all
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
# for use with Google Nexus 7 Gen1 (2012) display modules
# - CPT CLAA070WP03XG
# - HYDIS HV070WX2-1E0
# by Joerg Quinten, aBUGSworstnightmare
dtoverlay=dpi24
disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=0
#overscan_right=0
#overscan_top=0
#overscan_bottom=0
# set display orientation
display_rotate=3
# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=1280
framebuffer_height=760
# still have to figure out why 1280x800 gives black border left and right (40pixels
# each)
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem=304
# ---------------------------------------------
# Enable DPI
# ---------------------------------------------
enable_dpi_lcd=1
# ---------------------------------------------
# Make DPI default output
# ---------------------------------------------
display_default_lcd=1
# ---------------------------------------------
# custom HDMI mode
# https://www.raspberrypi.org/forums/viewtopic.php?p=613926#p613926
# https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
dpi_group=2
dpi_mode=87
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
dtparam=spi=off
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# ---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=483351
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
hdmi_timings=800 0 16 16 64 1280 0 5 1 2 0 0 0 60 0 66800000 5
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
For more info on the Nexus adapter refer to viewtopic.php?f=44&t=158525
Re: LVDS add-on for Raspberry models with 40pin GPIO
Great Job - I'm surpriced that's possible to use GPIO pins as LVDS Signals !?!
It's planned to sell the PCB or to provide the files - would be great to have it for x-mas
- Peter
It's planned to sell the PCB or to provide the files - would be great to have it for x-mas

- Peter
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Here are some more timinigs/displays I've used so far:
Sharp LQ101K1LY05
Sharp LQ121K1LG52
and for Sharp LQ123K3LG01 (the letterbox size shown above)
Sharp LQ101K1LY05
Code: Select all
# ---------------------------------------------
# For use with Sharp LQ101K1LY05 module only
# on RPi B+/2/3 - Raspbian Jessie/Wheezy
# ---------------------------------------------
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1
# ---------------------------------------------
# Overscan Information
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
# ---------------------------------------------
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=1280
framebuffer_height=800
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# ---------------------------------------------
# Enable DPI
# ---------------------------------------------
enable_dpi_lcd=1
# ---------------------------------------------
# Make DPI default output
# ---------------------------------------------
display_default_lcd=1
# ---------------------------------------------
# custom HDMI mode
# https://www.raspberrypi.org/forums/viewtopic.php?p=613926#p613926
# https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
dpi_group=2
dpi_mode=87
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
gpu_mem=256
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# ---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=461847
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
#hdmi_timing for LQ101K1LY05 configuration notes
#h_active_pixels = 1280
#h_sync_polarity = 0
#h_front_porch = 40
#h_sync_pulse = 0
#h_back_porch = 1
#v_active_lines = 800
#v_sync_polarity = 0
#v_front_porch = 12
#v_sync_pulse = 0
#v_back_porch = 1
#v_sync_offset_a = 0
#v_sync_offset_b = 0
#pixel_rep = 0
#frame_rate = 60
#interlaces = 0
#pixel_freq = 800000000
#aspect_ratio = 5
# ---------------------------------------------
hdmi_timings=1280 0 40 0 1 800 0 12 0 1 0 0 0 60 0 80000000 5
Code: Select all
# ---------------------------------------------
# For use with Sharp LQ121K1LG52 module only
# Raspbian Jessie/Wheezy
# rev. 10/10/2016
# ---------------------------------------------
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
# ---------------------------------------------
# Overscan Information
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
# ---------------------------------------------
max_framebuffer_width=1280
max_framebuffer_height=1280
#overscan_left=0
#overscan_right=0
#overscan_top=0
#overscan_bottom=0
# uncomment to force a console size. By default it will be display's size minus
# overscan.
# Portrait or Landscape Setting - only uncomment one block at a time
# Portrait-1 ( normal )
display_rotate=0
framebuffer_width=1280
framebuffer_height=800
# Landscape-2 ( upside down )
#display_rotate=2
#framebuffer_width=1280
#framebuffer_height=800
#Portrait-1 ( right side up )
#display_rotate=1
#framebuffer_width=800
#framebuffer_height=1280
# Portrait-2 ( left side up )
#display_rotate=3
#framebuffer_width=800
#framebuffer_height=1280
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# ---------------------------------------------
# Enable DPI
# ---------------------------------------------
enable_dpi_lcd=1
# ---------------------------------------------
# Make DPI default output
# ---------------------------------------------
display_default_lcd=1
# ---------------------------------------------
# custom HDMI mode
# https://www.raspberrypi.org/forums/viewtopic.php?p=613926#p613926
# https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
dpi_group=2
dpi_mode=87
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
gpu_mem=320
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# ---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=461847
hdmi_pixel_freq_limit=200000000
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
#hdmi_timing for LQ121K1LG52 configuration notes
#h_active_pixels = 1280
#h_sync_polarity = 0
#h_front_porch = 40
#h_sync_pulse = 8
#h_back_porch = 1
#v_active_lines = 800
#v_sync_polarity = 0
#v_front_porch = 12
#v_sync_pulse = 3
#v_back_porch = 1
#v_sync_offset_a = 0
#v_sync_offset_b = 0
#pixel_rep = 0
#frame_rate = 60
#interlaces = 0
#pixel_freq = 860000000
#aspect_ratio = 5
# ---------------------------------------------
hdmi_timings=1280 0 40 8 1 800 0 12 3 1 0 0 0 60 0 86000000 5
Code: Select all
# ---------------------------------------------
# For use with Sharp LQ123K3LG01 module only
# on RPi - Raspbian Jessie/Wheezy
# ---------------------------------------------
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1
# ---------------------------------------------
# Overscan Information
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
# ---------------------------------------------
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=288
# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=1280
framebuffer_height=480
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# ---------------------------------------------
# Enable DPI
# ---------------------------------------------
enable_dpi_lcd=1
# ---------------------------------------------
# Make DPI default output
# ---------------------------------------------
display_default_lcd=1
# ---------------------------------------------
# custom HDMI mode
# https://www.raspberrypi.org/forums/viewtopic.php?p=613926#p613926
# https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
dpi_group=2
dpi_mode=87
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
gpu_mem=192
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# ---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=458775
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
#hdmi_timing for LQ123K3LG01 configuration notes
#h_active_pixels = 1280
#h_sync_polarity = 1
#h_front_porch = 40
#h_sync_pulse = 8
#h_back_porch = 2
#v_active_lines = 768
#v_sync_polarity = 1
#v_front_porch = 12
#v_sync_pulse = 4
#v_back_porch = 2
#v_sync_offset_a = 0
#v_sync_offset_b = 0
#pixel_rep = 0
#frame_rate = 60
#interlaces = 0
#pixel_freq = 84000000
#aspect_ratio = 6
# ---------------------------------------------
hdmi_timings=1280 1 40 8 2 768 1 12 4 2 0 0 0 60 0 70000000 6
Last edited by aBUGSworstnightmare on Mon Nov 07, 2016 2:47 pm, edited 5 times in total.
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Just a note to all the nice people out there who are comparing commodity prices with hand made custom solutions:
Please don't bother me with your PM's asking for prices!
This is not the dirt-cheap Chinese HDMI-to-LVDS-driver, build in millions of pcs per year, that sells on ebay for 5 bucks! This board here is a custom development which I made for my own use.
If you think you can put this to good use as well, fine! Go ahead and ask me. But don't expect that I will sell you a unit with a single-piece-BOM-cost of 68EUR for a few bucks
I'm not running a business, nor do I want to make money out of this! I'm willing to sell a board, but I don't need to
Edit: Refer to the BOM of another of my adapter boards (https://drive.google.com/drive/folders/ ... sp=sharing - 19%VAT needs to be added since I'm living in D; all prices shown are Mouser sales prices). They share the same components except for the display interface. The LVDS boards needs some components in addition. PCB is also more expensive because this one is a 4-layer board.
Please don't bother me with your PM's asking for prices!
This is not the dirt-cheap Chinese HDMI-to-LVDS-driver, build in millions of pcs per year, that sells on ebay for 5 bucks! This board here is a custom development which I made for my own use.
If you think you can put this to good use as well, fine! Go ahead and ask me. But don't expect that I will sell you a unit with a single-piece-BOM-cost of 68EUR for a few bucks

I'm not running a business, nor do I want to make money out of this! I'm willing to sell a board, but I don't need to

Edit: Refer to the BOM of another of my adapter boards (https://drive.google.com/drive/folders/ ... sp=sharing - 19%VAT needs to be added since I'm living in D; all prices shown are Mouser sales prices). They share the same components except for the display interface. The LVDS boards needs some components in addition. PCB is also more expensive because this one is a 4-layer board.
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
New timing data, this time with another 12.1in WXGA module (LQ121K1LW56) and a new RPi A+ with 512MB RAM
Code: Select all
# ---------------------------------------------
# For use with Sharp LQ121K1LW56 module only
# Raspbian Jessie/Wheezy
# rev. 14/11/2016
# ---------------------------------------------
# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details
dtoverlay=dpi24
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
# ---------------------------------------------
# Overscan Information
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
# ---------------------------------------------
max_framebuffer_width=1280
max_framebuffer_height=1280
#overscan_left=0
#overscan_right=0
#overscan_top=0
#overscan_bottom=0
# uncomment to force a console size. By default it will be display's size minus
# overscan.
# Portrait or Landscape Setting - only uncomment one block at a time
# Portrait-1 ( normal )
display_rotate=0
framebuffer_width=1280
framebuffer_height=800
# Landscape-2 ( upside down )
#display_rotate=2
#framebuffer_width=1280
#framebuffer_height=800
#Portrait-1 ( right side up )
#display_rotate=1
#framebuffer_width=800
#framebuffer_height=1280
# Portrait-2 ( left side up )
#display_rotate=3
#framebuffer_width=800
#framebuffer_height=1280
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# ---------------------------------------------
# Enable DPI
# ---------------------------------------------
enable_dpi_lcd=1
# ---------------------------------------------
# Make DPI default output
# ---------------------------------------------
display_default_lcd=1
# ---------------------------------------------
# custom HDMI mode
# https://www.raspberrypi.org/forums/viewtopic.php?p=613926#p613926
# https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
dpi_group=2
dpi_mode=87
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=900
gpu_mem=160
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
---------------------------------------------
# DPI output format definitions
# https://www.raspberrypi.org/forums/viewtopic.php?p=628061#p628061
# DPI structure: https://www.raspberrypi.org/forums/viewtopic.php?p=617719#p617719
# ---------------------------------------------
# output_format:
# 1: DPI_OUTPUT_FORMAT_9BIT_666
# 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1
# 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2
# 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3
# 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1
# 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2
# 7: DPI_OUTPUT_FORMAT_24BIT_888
#
# rgb_order:
# 1: DPI_RGB_ORDER_RGB
# 2: DPI_RGB_ORDER_BGR
# 3: DPI_RGB_ORDER_GRB
# 4: DPI_RGB_ORDER_BRG
#
# output_enable_mode:
# 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID
# 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS
#
# invert_pixel_clock:
# 0: RGB Data changes on rising edge and is stable at falling edge
# 1: RGB Data changes on falling edge and is stable at rising edge
#
# hsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# vsync polarity:
# 0: default for HDMI mode
# 1: inverted
#
# output_enable_polarity:
# 0: default for HDMI mode
# 1: inverted
#
# hsync phase:
# 0: rising edge
# 1: falling edge
#
# vsync phase:
# 0: rising edge
# 1: falling edge
#
# output_enable phase:
# 0: rising edge
# 1: falling edge
# ---------------------------------------------
dpi_output_format=483351
# ---------------------------------------------
# HDMI timing definitions
#https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=24679
# ---------------------------------------------
# hdmi_timings= <h_active_pixels>
# LCD module horizontal resolution
#
# <h_sync_polarity>
# 0: active low
# 1: active high
#
# <h_front_porch>
# <h_sync_pulse>
# <h_back_porch>
# <v_active_lines>
# LCD module vertical resolution
#
# <v_sync_polarity>
# 0: active low
# 1: active high
#
# <v_front_porch>
# <v_sync_pulse>
# <v_back_porch>
#
# <v_sync_offset_a>
# <v_sync_offset_b>
# <pixel_rep>
#
# <frame_rate>
# screen refrech rate (50/60Hz supported only!)#
#
# <interlaced>
#
# <pixel_freq>
# calculates as: <h_active_pixels> * <v_active_lines> * <frame_rate>
#
# <aspect_ratio>
# HDMI_ASPECT_4_3 = 1
# HDMI_ASPECT_14_9 = 2
# HDMI_ASPECT_16_9 = 3
# HDMI_ASPECT_5_4 = 4
# HDMI_ASPECT_16_10 = 5
# HDMI_ASPECT_15_9 = 6
# HDMI_ASPECT_21_9 = 7
# HDMI_ASPECT_64_27 = 8
# ---------------------------------------------
#hdmi_timing for LQ121K1LW56 configuration notes
#h_active_pixels = 1280
#h_sync_polarity = 1
#h_front_porch = 40
#h_sync_pulse = 1
#h_back_porch = 1
#v_active_lines = 800
#v_sync_polarity = 1
#v_front_porch = 1
#v_sync_pulse = 2
#v_back_porch = 1
#v_sync_offset_a = 0
#v_sync_offset_b = 0
#pixel_rep = 0
#frame_rate = 60
#interlaces = 0
#pixel_freq = 80000000
#aspect_ratio = 5
# ---------------------------------------------
hdmi_timings=1280 1 40 1 1 800 1 1 2 1 0 0 0 60 0 80000000 5
Re: LVDS add-on for Raspberry models with 40pin GPIO
A note to all the nice people - also the TX23D38VM0CAA (800x480) is working well on the RPI.
Because the schematic and layout is a secret I create my own one (all rights reserved, free for private use
). It's just a free wiring but the PCB's are ordered (only 50x25mm and two layers) .
The BOM is very simple and so all together will be very cheap (less 20$). More in some days.
-Peter
Because the schematic and layout is a secret I create my own one (all rights reserved, free for private use

The BOM is very simple and so all together will be very cheap (less 20$). More in some days.
-Peter
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Looks good and you figured out by yourself! So schematic is not a secretpeter8 wrote:A note to all the nice people - also the TX23D38VM0CAA (800x480) is working well on the RPI
Because the schematic and layout is a secret I create my own one (all rights reserved, free for private use). It's just a free wiring but the PCB's are ordered (only 50x25mm and two layers) .

Yep, since it's only the SN75LVDS83BDGGR (Mouser 595-SN75LVDS83BDGGR) it's just $6.10 + a few USD for decoupling caps + connectors (looks like your also using Molex, i.e. Mouser 538-87758-2016, USD1.07, 2mm pitch header) + PCB.peter8 wrote: The BOM is very simple and so all together will be very cheap (less 20$). More in some days.
My version also includes a 5V/3A DC/DC power supply for the RPi (based on LMZ14203TZ-ADJ/NOPBCT-ND, Mouser 926-MZ14203TZADJNOPB, USD14.32) and a 3V/2A DC/DC for LCD logic supply (LMZ14202TZX-ADJ/NOPB, Mouser 926-LM14202TZXADJNPB, USD9.89). I need some more caps and since I'm using 25V rated ones on the input of the DC/DC the BOM of my board is more expensive.
But as I said: I do not care about the cost when developing PCBs since there is no need for me to sell them for making profit. They only need to do what I want them to do.
Keep us informed how your double layer board performs with higher resolution and pixel clocks.
Re: LVDS add-on for Raspberry models with 40pin GPIO
So is's still a secret , because not publishedaBUGSworstnightmare wrote:Looks good and you figured out by yourself! So schematic is not a secretpeter8 wrote: Because the schematic and layout is a secret I create my own one (all rights reserved, free for private use).
everything one need to know is here https://www.raspberrypi.org/documentati ... /README.md


Hints how to create it is not a release (and to late).
I will published all data if finalized. If someone needs the schematic now, write me a PM.
Also if you want a board - I will have ~10 more as I need.
Yes, + PCB - where you told us yours is very expensive. Not 'less 20$' as mine.aBUGSworstnightmare wrote:Yep, since it's only the SN75LVDS83BDGGR (Mouser 595-SN75LVDS83BDGGR) it's just $6.10 + a few USD for decoupling caps + connectors (looks like your also using Molex, i.e. Mouser 538-87758-2016, USD1.07, 2mm pitch header) + PCB.peter8 wrote: The BOM is very simple and so all together will be very cheap (less 20$). More in some days.
If you decide to add more stuff and also to pay a single volume price you have to life with this decisions.aBUGSworstnightmare wrote: My version also includes a 5V/3A DC/DC power supply for the RPi (based on LMZ14203TZ-ADJ/NOPBCT-ND, Mouser 926-MZ14203TZADJNOPB, USD14.32) and a 3V/2A DC/DC for LCD logic supply (LMZ14202TZX-ADJ/NOPB, Mouser 926-LM14202TZXADJNPB, USD9.89). I need some more caps and since I'm using 25V rated ones on the input of the DC/DC the BOM of my board is more expensive.
But as I said: I do not care about the cost when developing PCBs since there is no need for me to sell them for making profit. They only need to do what I want them to do.

No problem: Much better than yours, because of a real HF designaBUGSworstnightmare wrote: Keep us informed how your double layer board performs with higher resolution and pixel clocks.

I don't need more than two layers. Not for routing and not for shielding. And if someone think to press a layout between two metal plates fix the design errors than you are going wrong.
You have to shield (decoupling / magnetic field) the digital wires against each other (not done in your design) and not primary against the environment and you have to unterstand the LVDS theme.
It's not a good idea to use a surface monted chip and than use vias to go to the inner layers, do some routing, and again use vias to the different sides to bring the signal back to the outer layer and to the connector pins - all that for a short 5mm distance. Over all, you use 'full through vias' (instead of blind vias) for this and so create some nice antennas (4 per signal). A 2-layer PCB here is enough.
LVDS signals had to be close together (not as the digital signals before), without corners (like in the picture below) ... ... and each pair should have the same lenght (as in my design - see column 'l mm').
Code: Select all
Signal f max. [MHz] l [mm] A [mm2] R [mOhm]
IN3_P 41796.0 7.073 0.009 14.0
IN3_N 42357.7 7.078 0.009 13.8
CLK_OUT_P 45435.6 6.588 0.009 12.9
CLK_OUT_N 45741.9 6.564 0.009 12.8
IN2_N 47636.6 6.293 0.009 12.3
IN2_P 48218.9 6.217 0.009 12.1
IN1_N 48059.5 6.238 0.009 12.2
IN1_P 48934.8 6.227 0.009 11.9
IN0_P 44000.5 6.814 0.009 13.3
IN0_N 43627.1 6.872 0.009 13.4
But no problem - it's working for you - all is fine, good job.
- Peter
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
So you're the pro! Thanks for teaching us!peter8 wrote:So is's still a secret , because not publishedaBUGSworstnightmare wrote:Looks good and you figured out by yourself! So schematic is not a secretpeter8 wrote: Because the schematic and layout is a secret I create my own one (all rights reserved, free for private use).
everything one need to know is here https://www.raspberrypi.org/documentati ... /README.md
![]()
![]()
Hints how to create it is not a release (and to late).
I will published all data if finalized. If someone needs the schematic now, write me a PM.
Also if you want a board - I will have ~10 more as I need.
Yes, + PCB - where you told us yours is very expensive. Not 'less 20$' as mine.aBUGSworstnightmare wrote:Yep, since it's only the SN75LVDS83BDGGR (Mouser 595-SN75LVDS83BDGGR) it's just $6.10 + a few USD for decoupling caps + connectors (looks like your also using Molex, i.e. Mouser 538-87758-2016, USD1.07, 2mm pitch header) + PCB.peter8 wrote: The BOM is very simple and so all together will be very cheap (less 20$). More in some days.If you decide to add more stuff and also to pay a single volume price you have to life with this decisions.aBUGSworstnightmare wrote: My version also includes a 5V/3A DC/DC power supply for the RPi (based on LMZ14203TZ-ADJ/NOPBCT-ND, Mouser 926-MZ14203TZADJNOPB, USD14.32) and a 3V/2A DC/DC for LCD logic supply (LMZ14202TZX-ADJ/NOPB, Mouser 926-LM14202TZXADJNPB, USD9.89). I need some more caps and since I'm using 25V rated ones on the input of the DC/DC the BOM of my board is more expensive.
But as I said: I do not care about the cost when developing PCBs since there is no need for me to sell them for making profit. They only need to do what I want them to do.Without me.
No problem: Much better than yours, because of a real HF designaBUGSworstnightmare wrote: Keep us informed how your double layer board performs with higher resolution and pixel clocks.![]()
I don't need more than two layers. Not for routing and not for shielding. And if someone think to press a layout between two metal plates fix the design errors than you are going wrong.
You have to shield (decoupling / magnetic field) the digital wires against each other (not done in your design) and not primary against the environment and you have to unterstand the LVDS theme.
It's not a good idea to use a surface monted chip and than use vias to go to the inner layers, do some routing, and again use vias to the different sides to bring the signal back to the outer layer and to the connector pins - all that for a short 5mm distance. Over all, you use 'full through vias' (instead of blind vias) for this and so create some nice antennas (4 per signal). A 2-layer PCB here is enough.
LVDS signals had to be close together (not as the digital signals before), without corners (like in the picture below) ... ... and each pair should have the same lenght (as in my design - see column 'l mm').
I only refer the small photos, but I see a lot of more things (ground fields, parallel tracks, 4 layers - but signal lines on the outer layers, EMC ?, ESD ? ...)Code: Select all
Signal f max. [MHz] l [mm] A [mm2] R [mOhm] IN3_P 41796.0 7.073 0.009 14.0 IN3_N 42357.7 7.078 0.009 13.8 CLK_OUT_P 45435.6 6.588 0.009 12.9 CLK_OUT_N 45741.9 6.564 0.009 12.8 IN2_N 47636.6 6.293 0.009 12.3 IN2_P 48218.9 6.217 0.009 12.1 IN1_N 48059.5 6.238 0.009 12.2 IN1_P 48934.8 6.227 0.009 11.9 IN0_P 44000.5 6.814 0.009 13.3 IN0_N 43627.1 6.872 0.009 13.4
But no problem - it's working for you - all is fine, good job.
- Peter
I decided not to bother mankind with a third schematic if there are two published already:
- Reference schematic from TI data sheet http://www.ti.com/lit/ds/symlink/sn75lvds83b.pdf - I think this data sheet is also a good read for you in regards of PCB layer stacking and right angle bends in traces
- Google Nexus 7 2012 schematic by Asus - this is how real professionals make it! Refer to page 22 of the document linked here viewtopic.php?p=1036338#p1036338 (it's there since 9/11)
Again: sorry for not spoon feeding you with my schematic! Raspberry Pi is about learning and that's exactly what my posting resulted in: you did some research on which components to use and made your own (mother of all SN75LVDS83B) schematic and layout.
Mission accomplished!
BTW: better open your own thread in the 'for sale' section for selling your PCB. People will find it there more easily
Re: LVDS add-on for Raspberry models with 40pin GPIO
Sorry Peter, but you design is all other than the best...
Your desingn does not match the required impendance for LVDS. Your design have nearly 90° corners. Only the pairs of each signal are length matched and not all traces together as requested for LVDS. The max. frequencies for each trace in the table are nonsense. The final PCB from the factory probably will have every signal pair shorten.
best regards
Micha
Your desingn does not match the required impendance for LVDS. Your design have nearly 90° corners. Only the pairs of each signal are length matched and not all traces together as requested for LVDS. The max. frequencies for each trace in the table are nonsense. The final PCB from the factory probably will have every signal pair shorten.
best regards
Micha
Re: LVDS add-on for Raspberry models with 40pin GPIO
Hi Micha - ignore the freq in the table - it's only a printout of the tool.
The first thing is to have the pair-lenght similar, also the general lenght is not a big difference (0.86 mm) if you compare with the rest (i.e. cable). Over all - it's a digital signal. If you calculate the voltage tolerances and timings you will see that it will be never a problem. And no - it's not the best
, but it's better than others and much cheaper.
>> The final PCB from the factory probably will have every signal pair shorten.
Why do you think this ?
Noting is as perfect as in theory - I think a real developer will argee. Every time you have find a compromis between all the constrains. I only want to show, that not only by use a four layer technology a PCB is perfect. So, feel free to make some constructive hints (only two layer, max size 50x24mm) -it's only my first shot.
Two more remarks outside the general discussion:
I need this only for my displays (800x600) and also the testsetup (picture ahead) with a breakout board and free wires works well.
regards Peter
The first thing is to have the pair-lenght similar, also the general lenght is not a big difference (0.86 mm) if you compare with the rest (i.e. cable). Over all - it's a digital signal. If you calculate the voltage tolerances and timings you will see that it will be never a problem. And no - it's not the best

>> The final PCB from the factory probably will have every signal pair shorten.
Why do you think this ?
Noting is as perfect as in theory - I think a real developer will argee. Every time you have find a compromis between all the constrains. I only want to show, that not only by use a four layer technology a PCB is perfect. So, feel free to make some constructive hints (only two layer, max size 50x24mm) -it's only my first shot.
Two more remarks outside the general discussion:
I need this only for my displays (800x600) and also the testsetup (picture ahead) with a breakout board and free wires works well.
regards Peter
Re: LVDS add-on for Raspberry models with 40pin GPIO
Well, if I remember right, the LVDS converter has a pad width of nearly 12 mil. So I think, your traces have a width of around 10 mil. The distance between the traces of one pair is between 6 and 12 mil (which is bad for continous impedance, but that is a different story). So from this meassures take a look at your vias. The distance between the vias and the traces at the bottom side is less than 4 mil. For cheap PCB's most manufactures can securely produce PCB's with a distance of at least 6 mil. If you pay more, some manufactures are able to make PCBs with a distance of at least 4 mil.>> The final PCB from the factory probably will have every signal pair shorten.
Why do you think this ?
About 2 vs 4 layers...
Yes two layers works most times for hobbyist usage. But anyway, with only two layers the PCB most time will fail in any radiation test, even if there is only a small part used for digital applications. As suggested by aBUGSworstnightmare, a 4-layer design, where one inner layer is used for ground and the second inner layer is used for power, is a good choice. Only with such PCB-configuration you can create impedance matched pairs, which fit's with the small trace witdh used in todays modern layouts.
Btw. thoose round traces are looking bad. They look painted by hand. In modern designs you will find round traces only as meander for length matching reasons. Sometimes they are used in very long traces for USB signals. All is fine with straight corners as long as the angle is big enough (typically 135 degree).
best regards
Micha
Re: LVDS add-on for Raspberry models with 40pin GPIO
It's nonsens - you don't now it, but you think it is a problem... what !?!MichaR wrote:Well, if I remember right, the LVDS converter has a pad width of nearly 12 mil. So I think, your traces have a width of around 10 mil. The distance between the traces of one pair is between 6 and 12 mil (which is bad for continous impedance, but that is a different story). So from this meassures take a look at your vias. The distance between the vias and the traces at the bottom side is less than 4 mil. For cheap PCB's most manufactures can securely produce PCB's with a distance of at least 6 mil. If you pay more, some manufactures are able to make PCBs with a distance of at least 4 mil.>> The final PCB from the factory probably will have every signal pair shorten.
Why do you think this ?
DRC rule check is fine, the rest is a problem of the pcb manufacturer (yes, DRC from the Manufacturer)
->MichaR wrote: About 2 vs 4 layers...
Yes two layers works most times for hobbyist usage.
aBUGSworstnightmare wrote: Raspberry Pi is about learning and that's exactly what my posting resulted
MichaR wrote: But anyway, with only two layers the PCB most time will fail in any radiation test, even if there is only a small part used for digital applications. As suggested by aBUGSworstnightmare, a 4-layer design, where one inner layer is
used for ground and the second inner layer is used for power, is a good choice.

Yes - but this is not suggested by aBUGSworstnightmare, it's clear that with a 4 layer layout a layouter has more posibilities - everyone knows this. I also like 6 and 8 layer designs, and I did it.MichaR wrote: Only with such PCB-configuration you can create impedance matched pairs, which fit's with the small trace witdh used in todays modern layouts.
But it makes no sense if i.e. aBUGSworstnightmare don't first follow the LVDS rules propagandised also by you !
So you think he has, aren't you ? You know his inner layer design ?
And do you want to say the version of aBUGSworstnightmare with the antenna vias through all layers is 'the best...' ? Really ?


Better as my design ? Surely not.

How has he calculated the impedance matched pairs ?
Maybe you want to show us your design first, thx?
If you want follow this theoretical discussion - publish the layout of aBUGSworstnightmare first.
What ? Sorry boy - next time I will create a 'nice locking' layout for you! Some nice comics ?MichaR wrote: Btw. thoose round traces are looking bad. They look painted by hand.
... and that's we talk about here... and meanders = x * 90° angles, but you don't like it... and you told us the storry about distances, space, mils and cheap PCB's - do you know what you want ? Meanders needs space, and for a distance of 4-5mm ??? In 10 mil ?MichaR wrote: In modern designs you will find round traces only as meander for length matching reasons.
Yes, famous - a straight line is the best, it's not surpricing! But, ...:MichaR wrote: Sometimes they are used in very long traces for USB signals. All is fine with straight corners as long as the angle is big enough (typically 135 degree).
most time / sometimes / for cheap PCB's most manufactures ... it's speculative, waste my time and doesn't help us. But you are free, buy the PCB from aBUGSworstnightmare or create a better one.
best regards, Peter
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
Hi,
funny to read how people react on comments! Also funny to read that own design is better than others because other design is using 90° bends (vias and wires) My design has no 90° bends in any signal. But this via (and signal trace) is for sure better than mine.
Conclusion: I fully agree with poster that his design is way more advanced and sophisticated than mine
Hopefully this will stop people from a**ing around in this treath and focus back on OT.
Let's wait for posters results once PCBs were received. He is for sure using a way better PCB manufacturing house than I did because my DRC fails with such a design (my DRCs are width/space 5/5mil, min dia finished hole 12mil, regardless of 2 or 4layer design rules are the same for this manufacturer).
funny to read how people react on comments! Also funny to read that own design is better than others because other design is using 90° bends (vias and wires) My design has no 90° bends in any signal. But this via (and signal trace) is for sure better than mine.
Conclusion: I fully agree with poster that his design is way more advanced and sophisticated than mine

Let's wait for posters results once PCBs were received. He is for sure using a way better PCB manufacturing house than I did because my DRC fails with such a design (my DRCs are width/space 5/5mil, min dia finished hole 12mil, regardless of 2 or 4layer design rules are the same for this manufacturer).
Re: LVDS add-on for Raspberry models with 40pin GPIO
Hi folks, PCB design is a hard theme - maybe the following two pictures help you to unterstand the problem - think 3D, not only 2D.
Anyway - it's not my profession to teach you in all variants of layouting - let's wait for the results.
right-click for a bigger view
-Peter
Anyway - it's not my profession to teach you in all variants of layouting - let's wait for the results.
right-click for a bigger view
-Peter
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
So I need to be picky now: You have 3x 90° corners in the signal that is routed through the via and one one this other! Have you considered skin effect at all? Sure you can stay in your EMC radiation limits for CE and UL approval with this design?? What a kindergarden!peter8 wrote:
We got your points and I alreday concluded: your layout is better. So why do you keep arguing? Get back on topic and if you think you need to discuss PCB design rules open an therad in the 'who cares' section on this forum or write a book on the topic! This is not a all related with this threath's topic 'LVDS add-on for Raspberry models with 40pin GPIO'
Re: LVDS add-on for Raspberry models with 40pin GPIO
No it's not a typo. Go on and learn about modern PCB design.MichaR wrote:
But anyway, with only two layers the PCB most time will fail in any radiation test, even if there is only a small part used for digital applications. As suggested by aBUGSworstnightmare, a 4-layer design, where one inner layer is
used for ground and the second inner layer is used for power, is a good choice.
think this is a typo and you mean outer layers.
For high quality cables that is no problem at all. It's twisted pair. Anyway, longer cables for LVDS are shielded too.btw. also the LVDS cable is unshielded.
Back to the topic... @aBUGSworstnightmare is there any reason why you use that impensive voltage regulators (inductorless step down converters, if I see it correctly). Is it just to save space on the PCB or is there any electrical reason?
best regards
Micha
-
- Posts: 2650
- Joined: Tue Jun 30, 2015 1:35 pm
Re: LVDS add-on for Raspberry models with 40pin GPIO
I'm using TI Simple Switchers (http://www.ti.com/product/LMZ14203?keyM ... Everything).MichaR wrote:..Back to the topic... @aBUGSworstnightmare is there any reason why you use that impensive voltage regulators (inductorless step down converters, if I see it correctly). Is it just to save space on the PCB or is there any electrical reason?
..
Micha
Why I'm using them is simple:
- wide input voltage range (6 to 42V) --> main reason for using them! So only one power supply is needed (@backlight voltage range)
- low output voltage ripple
- good efficiency
- saves board space (only a few external components needed) and easy to layout
- protection features
They are not inductor less; it's inside of the package.
I don't care about unit price because I'm not building a mass market product, aiming for maximized profit. There is a nice definition for hobby: Spend maximum effort and resources (i.e. money) for achieving minimal results

Re: LVDS add-on for Raspberry models with 40pin GPIO
Ah OK, sounds logical to mee. Sure, price is not so importent... also for me as a hobbyist.
Btw.: Do you have any experience with the DS90C387 as LVDS converter?
best regards
Micha
Btw.: Do you have any experience with the DS90C387 as LVDS converter?
best regards
Micha