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:
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...
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.