LCD output in SimVimCockpit

SimVimCockpit has native support of commonly used character LCDs with 4-bit parallel interface, such as 1602/1604/4002 (+ 20x2, 20x4 can be supported). No libraries are used, SimVim firmaware controls the LCD directly.

All standard ASCII Characters and a some of custom symbols can be used to display information on LCDs. Using online SimVim configurator you can easily assign any data to be displayed:

  • Select any parameter to display its value at any selected position of your LCD.
  • You can add any text before or after the value.
  • Any text or symbols can also be assigned independantly to any display position.
  • Information can be displayed or cleared conditionally - by checking other parameters or mode switch states.

SimVimLCD controller on the slave board

Note: this is new architecture that will be implemented in the next versions of SimVmCockpit

New SimVim LCD firmware for a separate slave board is developed and ready to be implemented in the next SimVim updates. Separate, "slave" Uno/Nano board with "SimVim LCD" firmware for connecting up to 10-12 different size (L x H) character LCDs.

The board can be placed near to your LCD "stack" and linked with master board with 2-wire I2C interface. This allows to leave the master board bus for multiplexers addressing only, get more stable data flow for LCD, more control and configuration (this board may include outputs for "virtual power bus" to control LCDs on/off on power loss)

The wiring is quite simple - all signal wires in this system are used in parallel for all connected displays, only one signal line for each display is used separatelly for every specific display

This method will be included instead of currently used direct connection to master board. If you are using some LCDs already, rewiring will not be a problem (the same 4-wire connections, but to additional board instead of master.

Note: the 2-wire connection method is still a matter of consideration - we can eventually use either I2c or Serial communication interface, need to evaluate all con-pros...

Currently used method:

Connecting multiple LCD to SimVim data bus

You need to use only 5 signal lines and GND connected to the data bus and one signal line connected to the output pin assigned for this particular display. Four address/data lines S0,S1,S2,S3 should be connected to 4 data inputs of every LCD - D4,D5,D6,D7. The "D" signal of the bus is connected to the "RS" (register select) input of the LCD.


These displays consume very little power from the power source, so you can use +5v from the same SimVim bus. To be able to see something on the screen, you need to add contrast control to the input (V0) using a small potentiometer / trimpot (resistance can be from 1K to 10K Ohm) connected between +5V and GND:

On the other side of the LCD there are two inputs for the backlight LED ( +A - anode, -K - cathode). The "K" input connected to the common GND, and "A" - to the "+" of the power source, which can also be an additional power supply.

Although the backlight LEDs can consume quite much power, you can still connect the A input to the bus +5V instead of an external source. This is especially viable if you use a powerful source for +5v line in your system bus, not taken from the controller board +5 output. Use an additional resistor (50 - 100 Ohm) on the A input in this case.

LCD 40x2 is supported


Video: Test with 3 LCD ( 40x2, 16x4 LCD and one 20x20 OLED display):

Value and custom text output

© Copyright 2012-2018 - SimVim