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


Did some more experimenting with different applications of the VGA1306 board over the long weekend… took an Arduino-based VT100 terminal emulator from here, and refactored from 32 columns by 10 rows up to 80 columns by 60 rows. Then had it feed the character buffer into the VGA1306 running VGA ‘character-mode’ firmware adapted from here / here! The Arduino sketch is running on an old Duemilanove board with a ATmega1284-based ‘UNO*Pro’ expansion plugged in…

So from there, with the Arduino plugged into my laptop’s USB port, I can just run a Linux command like:

ping 0 | tee /dev/ttyUSB0

for example, and have the ping command’s output automatically redirected to the VGA1306 ‘terminal’! :grinning:

Here’s all the code:

And here’s a video where I also have a play with terminal Tetris:

VT100 serial terminal as a secondary display?

Very happy to finally announce that boards are now up for sale :smiley: at:

…manufactured, assembled and tested on-site by matt of kitsch bent, and branded as ‘easy_VGA’.

Note: to order a board with the SSD1306 to VGA firmware, and the 6-pin header soldered on, you need to add three separate items to your shopping cart:

  • main board
  • IC for SSD1306 VGA
  • header assembly service


PS. Just as a heads-up to those who are in possession of the ‘prototype’ version of the board (@filmote @Mr.Blinky @Keyboard_Camper @eried @JayGarcia @sjm4306 @CRImier) take note that the pinout for the 6-pin header is flipped / inverted on this revised design, if you end up buying one! :wink:


Digging further down the rabbit-hole of VGA1306 as a sort of ‘80x60 character mode’ video card, I have made a fork of ArduinoBASIC:


(brought over a separate 5V supply for the keyboard - sticker on the back of this keyboard says 200mA, so I didn’t want to overload the Arduino)

Happily, there were not a lot of modifications necessary to refactor the code for 80x60 characters at 640x480 resolution! I added in a COLOR command for selectable foreground / background colours (all 8 glorious colours of the 3-bit RGB rainbow! :rainbow: ) and also added a #define to optionally use Serial for keyboard input (instead of a physical PS/2 keyboard) if desired…

(I am using the ‘serial keyboard’ in this video for the sake of easily cutting & pasting the program listing)

(Simon) #107

Now that is pretty cool!


Have been working on a version using NTSC composite video (yes, the little yellow RCA jack :smile:) outputting 4-level greyscale! Loving the way it looks on my TV:


Dude, making a consolized composite video output gameboy would be awesome! Pretty please release the code and schematic for this once you are done!!!


…have been playing with this some more on a giant 68cm CRT! :tv: :upside_down_face: