PC DIY‎ > ‎



In a search for a cost effective HDMI to VGA solution for the RaspberryPi this post came closest:http://www.linusakesson.net/hardware/beagleboard/vga.php

This created some inspiration to break it free form the Beagle-only approach. So lets see if it is possible to make it universal.

The original project uses software to generate the H/Vsync signals and thereby it uses up 2 valuable GPIO's.  So we need to generate these signals with a couple cheap and simple oscillators (NE556)


Quantity Part Needed for
13 60 Ω resistor R-2R ladders
19 120 Ω resistor R-2R ladders
2 100 Ω resistor Level shifters
2 1 kΩ resistor Level shifters
2 NPN transistor, e.g. BC547C Level shifters

The original layout:

Now that looks pretty easy, though we are not there yet. Lets see what the idea is of this schematic.
The RGB, H/Vsync and all the ground connections, thats all pretty straightforward. Then we see 2 transistors to make the correct H/Vsync levels. But there is no H/V clock source for the signals on the board. The maker chose to generate them with software but maybe it is more convenient to do that electronically with a NE556 dual timer IC.
The R-2R type resistor networks will do the D/A conversion for the RGB signals. And a +5V powersource is also needed

So lets first have a look at the J4 and J5 to see what signal goes where and replace it wit a HDMI connector
For this we need the pinout of the OMAP3530 CPU that's on the beagleboard

Pinout OMAP3530 (PDF, not very helpfull)
VGA pinout / VGA Vesa Ddc pinout
RaspberryPi Schematics R1.0

The connectors:


The signals that need to present:
  • RGB: 700mV into 75 Ohm
  • Hsync: 60 Hz (refresh rate)
  • Vsync: 31.4686 kHz (number of lines)
  • GND

The pins that need to be connect:

 Signal Pin
 Red 1
 Green 2
 Blue 3
 GND (Hsync) 5
 GND (Red) 6
 GND (Green) 7
 GND (Blue) 8
 GND (Vsync, DDC) 10
 Hsync 13
 VSync 14

A diagram of the 19 pins of a type A receptacle HDMI connector showing 10 pins on the top row and 9 pins on the bottom row. HDMI:

The Signals that are present on the RaspberryPi (see page2 BCM2835 HDMI):

 HDMI Signal
 1 TMDS Data2+
 2 TMDS Data2 Shield
 3 TMDS Data2–
 4 TMDS Data1+
 5 TMDS Data1 Shield
 6 TMDS Data1–
 7 TMDS Data0+
 8 TMDS Data0 Shield
 9 TMDS Data0–
 10 TMDS Clock+
 11 TMDS Clock Shield
 12 TMDS Clock–
 13 CEC
 14 Not Connected
 15 SCL (I²C Serial Clock for DDC)
 16 SDA (I²C Serial Data Line for DDC)
 17 DDC/CEC/HEC Ground
 18 +5 V Power (max 50 mA)
 19 Hot Plug Detect

How to wire it up:







Richard Stallman

Richard Stallman, president of the Free Software Foundation, launched the development of the free software operating system GNU in 1984. The GNU/Linux system (essentially GNU with Linux added) is used on tens of millions of computers today. Stallman also founded the League for Programming Freedom in 1989, which campaigned against legal threats to programming – principally software patents.