In 2016 K.C.Lee published a project at hackaday.io that implemented the tricky parts of generating 640x480 pixel resolution text mode VGA video, and interfacing to PC/AT keyboard using a small microcontroller with just few external parts. In his implemenation he went for maximum number of text lines (40) and used up most of the 4KB internal ram of the STM32F030F4 microcontroller. He had not published code for VT100 emulation by Oct 2017, so I branched his code in github to STM32F030F4-VGA and added the missing pieces. To make the text look better and to reduce memory requirements, I switched to 16 scanline font, reducing the number of text lines to 30.
K.C.Lee worked towards producing a module that you could plug into your other projects, but the harware is so simple that you can build it into anything where you need VGA text output just from few components (click on schematics for full size):
The keyboard interface has level shifters between 5V keyboard signals, and 3.3V MCU I/O, you can just remove all of the keyboard interface if you dont need it, keep the pull-ups on the I/O pins though.
To program the microcontroller, you need a tool called st-link (I installed it from Mac Ports myself), and a programming tool that you can get from ebay for just few euros. Look for "st-link v2", and you'll get a long list of those to choose from, in wonderful color selection.
The logic level serial interface works at 115200,N,8,1 without handshaking, and is 5V tolerant. The code currently only has US keyboard layout supported, and the character set is also US ASCII, with VT100 line characters included.
Copyright © Madis Kaal 2000-