Video in anything out - this project is an FPGA multitool for easily connecting anything to your PC's video port.

Similar projects worth following
For massive installations/applications, serial ports/Ethernet ports relying on the CPU can easily fail. Using a video output you can bypass the middle-man, plus do some superfast funky GPU math. With V-Sink even the humble Raspi can drive a video wall with no hiccups.

Based on an FPGA board and using a series of plug-in daughterboards (when necessary), the HDMI input will be able to drive multiple:
-Series of WS2811 /12 /01 devices
-DMX universes
-DALI universes
-ArtNet universes
-Drive DACs for fast loading (GPU) "arbitrary" waveform generation
-Put-your-protocol here

V-Sink, takes the pain of driving many thousands of channels away, by appearing like a display to the OS and taking care of the rest. The current implementation can drive 32768 RGB LED pixels at 30Hz.

I am currently working on a DMX driver. V-Sink should be able to drive 192 DMX universes (if you can fit that many transceivers on a board) from an HDMI port. A massive light show can be generated or played back by set-top box or a raspberry pi. 

  • 1 × Spartan 6 LX45 dev board or better
  • 1 × lots of WS2812 for starters

  • Firmware

    e.potis02/23/2019 at 20:57 0 comments

    Took me forever I know but I was hoping to find the time to clean up the code and make it Open-Source compatible. My time organisation skills failed me. 

    Here's the raw and dirty code for anyone interested to have a look. I am happy to help if someone wants to give it a go or contribute.

  • How to modify a pipistrello board to work with V-Sink

    e.potis08/19/2014 at 20:41 0 comments

    Unfortunately, the HDMI connector on the (otherwise amazing) pipistrello board ( cannot be used as an input. 

    The HDMI clock pins must be connected to global CLK pins for HDMI input to work and they are not. This basically means that Pipistrello can't be used for HDMI input unless you are willing to do some board rework. The HDMI SDA and SCL signals from the connector go to GCLK pins.  By removing the I2C level translator chip you can run two wires from the HDMI connector to the I2C chip pads. This way  the HDMI clock pins can be routed to GCLK pins without any trace cutting. 

    This is a fairly delicate rework and needs steady hands, but I've done it successfully to both my pipistrellos. You then need to reroute the SDA and SCL signals to a generic I/O, which is fairly straight forward. In the photograph you can see how the hack looks like, but I could write/record a guide if people are interesting in modding their boards.

  • V-Sink driving 4096 RGB LEDs

    e.potis08/15/2014 at 19:20 0 comments

    I apologise for the quality of the demo video, posted earlier. I didn't know it was so overexposed until I show it on youtube. 

    Here's V-Sink driving lots of LEDs using 4 of its 32 outputs. This is not a patriotic piece - please focus on the electronics.

  • What's currently happening...

    e.potis08/01/2014 at 18:10 0 comments

    I'm working on the software and hardware in parallel (focusing more on hardware right now - designing cheap fpga boards), whenever I can find the time  (v-sink is a t-sink too).  Next comes VIDEO 2 DMX - hopefully very soon. I will also try to upload videos/demos as soon as possible. 

  • EDID

    e.potis08/01/2014 at 07:19 0 comments

    EDID is implemented as a software EEPROM on the FPGA and holds an edid dump from my my monitor. Yes, V-Sink appear as a Dell monitor when you plug it into a pc. I need to edit the ROM to look more professional...

View all 5 project logs

Enjoy this project?



jonahwills8770 wrote 10/12/2023 at 14:59 point

Great Idea! but this is really interesting

  Are you sure? yes | no

timonsku wrote 08/04/2014 at 09:58 point
Thats awesome! I will definitely be a test bunny when mine arrives.

  Are you sure? yes | no

timonsku wrote 08/02/2014 at 12:42 point
A pity I recently ordered one. Could the LX25 be a fit with optimized code? They offer an upgrade to the LX25 for a still fairly low price.

  Are you sure? yes | no

e.potis wrote 08/04/2014 at 09:22 point
Sorry for the late reply,
I was running some tests. I was able to fit the design on LX9 by reducing the output lines to 8, and on the LX25 to 16. I've got 32 lines on a LX45.

One line (1 IO) can drive 1024 WS2811 at 30FPS (or 6 DMX universes), so 8 might be enough for you. Please keep in mind that I haven't tested this and currently don't have the means (small spartan 6) to test it.

  Are you sure? yes | no

timonsku wrote 08/01/2014 at 16:29 point
Great idea! Looking forward to see some working prototype.
Do you think this would work with an Spartan 6 LX9 dev board aswell?
There is the really interesting with HDMI in and out.

  Are you sure? yes | no

e.potis wrote 08/02/2014 at 08:39 point
Thank you! I've got working prototypes based on boards available out there (with the WS2812 driver as proof of concept). I'm in the process of designing my own boards to make it as cheap as possible. I am also considering an hdmi through so you can use a strand of WS2812 for TV ambient lighting without a splitter.

I've tried compiling my code so far (highly unoptimised) and it wont fit on anything less then an LX45 I'm afraid. The board you suggested looks interesting, but I don't think it will be able to manage. That being said I was able to use a pipistrello ( - a very nice and not much more expensive board. I had to modify it a bit. Might post a guide on how to mod it in the future if there's interest.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates