An almost-fully-VT100-compatible serial terminal created from an oscilloscope display, a PS/2 keyboard, two microcontrollers, and some op-amps.

- 54x24 character display
- 60Hz refresh rate
- Graphical setup menu
- Easily change between two configurations with a switch
- Works with all your favorite console apps (vim, links, irssi, and more)

An ATmega328P handles pretty much everything. An ATtiny45 is used as a keyboard buffer and decoder. The 'mega polls the 'tiny for keystrokes over SPI so it doesn't get interrupted while it's redrawing the screen.

Rather than drawing each character with strokes (which is slow and requires a DAC), op-amps are used to generate a raster sweep across the screen (like a TV) and the ATmega328P modulates the brightness (Z axis). The 'mega runs at 20 MHz and outputs a pixel every 5 clock cycles (4 MHz, which is the Z axis bandwidth of the monitor).
15 photos · 1,608 views