Output voltage on pins


Hi everyone,

I’ve made a VGA driver which I want to test, but understandably I don’t want to blow up my monitor! Could anyone shed some light as to what the output voltages are on the pins (if they are assigned to 1’b1)?

I’m using the TinyFPGA-BX

Much appreciated :slight_smile:



in the iCE40 LP/HX Family Data Sheet page 6 linked from here https://tinyfpga.com/bx/guide.html you can get a feel for the features of the chip. One section is maked

So for short (and in general) the output voltage can normally be configured per bank but it appears on the smaller chip and on the BX the voltage is dictated by vcc_io

(other feature can be configured see Configuring LVDS pins )

THe BX schematics show that the vcc_io voltage is 3v3.

And the VGA voltage normally (from reading this post on xess ) has to be between 0 and 0.7v.

So the short answer is “no you can not directly connect the GPIO pins to a VGA signal” and you are kinda forced to make a poor mans DAC

It might be interesting to read https://aikatz.github.io/sketch-city/labs/lab3.html and even understand how to generated more voltage levels.

so… by any means… it is best to use a voltage divider to lower the voltage from 3v3 to 0.7 or get a ready made mod VGA adapter but this is definitely less fun.

As general advice I would say that it is normally the current that will break stuff so if you want to be on the safe side (in general) it won’t hurt to put a resistor in series with your signals (that are data anyway) to prevent damage caused by current. In this case I would advice

With all that said… I would be surprised if this would break your monitor. I personally took the gamble on a few occasions as documented here:

Here they are using a single resistor per color (h and v sync are directly connected)

Here the same happens

and here again

Good luck with your project!