VGA1306 (VGA-out for DIY Arduboys implemented on an FPGA!)

The boards have arrived, still waiting on parts. Then assembly will begin!


Beautiful, nothing like fresh pcbs in the morning!

Nice! Where did you get the PCB from?

Still dreaming of HDMI out…

Jlcpcb i have ordered from them 5 or 6 times and have always liked the results.

This was my route to HDMI for testing TV out on my monitor :stuck_out_tongue:

For VGA something like this could do the trick

Yah I know but if it was built in? OMG we could make like a little chromecast / roku type device that connects to bluetooth controllers and you can play arduboy from your tv!


YES. YES, PLEASE. :astonished:

…if you’re dead-set on HDMI the most straightforward solution might be to take this existing VGA1306 design, get rid of the VGA 15-pin connector and replace it with a HDMI connector, and then put one of these AGO2-EX chips between the FPGA and the HDMI connector?!

The chip is used in these VGA2HDMI dongles -

Bonus is that you could also add some passives to turn the Arduboy speaker pins into line-level audio and this chip will add that into the HDMI video / audio output stream :loud_sound:

I’ll attach the AG02-EX datasheet here…

XR001VGA-VR10.pdf (495 KB)


@uXe your mod got a name drop here:

1 Like

Soldered it up, will flash it tomorrow and test it.


I think we are looking for a HDMI adapter (to SSD1306 interface) instead of a ssd-1306->VGA->HDMI solution.

HDMI is a quite a lot more complicated. Very complicated. Too complicated.

Nevertheless we can always start by looking at some articles, like this one from Intel and this one from Analog.

HDMI isn’t that complicated - honestly I just don’t have the time to ‘invest’ right now in making this happen.

Another relatively frictionless path would be to get yourself an Arduino Leonardo and one of these boards from Seeed:

The code for HDMI video & audio output using this shield is right here:

…or get yourself one of these shields instead?

I have spent a lot of time in this community in the past making weird and wonderful things happen just to prove that I could - but I don’t feel compelled to reinvent this particular wheel… fool me once! :sweat_smile:


There is a 2 pin jumper connected to cdone and creset. What are these for?

Can be used to program the FPGA directly with no flash chip needed:

Still working on trouble shooting some problems. I have it hooked up to a gameboy as I don’t have an arduboy setup.
I have the original vga1306 and have been comparing it to the one I put together. All the signals are the same except I am not getting any RGB signals from the one I build. I am getting hsync and vsync. but nothing in rgb. Any thoughts or troubleshooting tips?

You’ve tried toggling the dip switches? Also, note that kitsch-bent changed the order of the pins on the 6-pin header for his redesign - so they may not be a direct 1:1 for the pins on your 6-pin header?!

If you’ve got a Raspberry Pi around, then they can also be made to drive a SSD1306 display… also note the SSD1306 firmware will not display the GameBoy image, and vice versa - the GameBoy firmware will not display a SSD1306’s image?

Still no luck with this?

If you try the firmware I uploaded a few messages up ^^^ you should at least be able to get a video output - the 4th dip switch will invert the display (all white) and you should then be able to change that colour with the other 3 dip switches?

No luck yet. I ordered some Pro Micro to make an arduboy clone and they were supposed to arrive today, but got delayed until tomorrow. I toggled the switches with no luck. I am not getting a signal to the fpga output for the rgb. I think it might be the input signals from the gameboy. I think I have them hooked up correctly, but am not 100% sure. I haven’t given up yet!!

As I mentioned - this firmware should give you an output you can flip switches on without any input:

As you can see here - you would have to flip the kitsch-bent board over upside-down for the pins to be in the same order: