No frills console on LCD/TFT displays


Well-known member
I've just released a no-frills fb console that's easily portable to just about any LCD/TFT display.
Included is an example doing direct displaying of the character set on both the monochromeST7565 and ILI9341 (using ILI9341_t3). More examples to follow as I get time.

  • Uses my latest IntervalClassTimer library that uses microseconds, intsead of miliseconds. Also allows you to pause the timers without disturbing the count-down.
  • Inherits the Print class, so you can use print() println() etc. and has a very minimal ADDS-VP cursor control via printing. Minimal as in, can clear the screen, home the cursor, and move up/down/left/right, automatic scrolling and line wrap, and it won't scroll the bottom line when printing in the last column, instead it will wait for the next character, which allows you to use the full screen.
  • While it supports 64 colors, I'd like to think that the 16 pre-defined colors will be fine. They follow the same color names as available in a color X-Term.
  • 256 character 8x8 font with all kinds of extra useful graphic symbols, including ASCII control characters if you wanted to debug serial communications. Most of the regular characters come from my old VIC-20's character set ROM. :)
  • Inverse characters, flashing characters and even inverse flashing characters.
  • A flashing cursor that you can enable or disable.
  • Ability to set the text X/Y coordinates directly before you print, which also moves the cursor if enabled.
  • Ability to change text colors.
  • Ability to scroll the screen without using print methods.

Here's the character map photo.
Yes, the font is VERY TINY on the ILI9341, but I can read it just fine, and I'm not going to make it any larger, as that would not make sense. 40columns is cramped enough.

Hope someone finds this useful, and if you expand on it, feel free to send a pull request.
While it doesn't actually use microsecond resolution, the project that uses this code does, so it made sense to just leave it as-is and share it with the world.