PrimeVfd

The Futaba NA202MD13AA VFD (vacuum fluorescent display) module is a large, bright, high quality display capable of displaying 2 rows of 20 character wide text. These displays have limited onboard logic - this library provides all the necessary driving, timing, character set, etc. To the sketch, this library is virtually identical to the standard LiquidCrystal library.

Attach:PrimeVfd.jpg Δ

Library Download

The library and examples are available here:

  • PrimeVfd.zip Version updated for Arduino 1.0 and later. Tested to compile only, no other testing has been done.
  • PrimeVfd-Old.zip For Arduino versions prior to 1.0. Tested with samples on hardware.

See Arduino Libraries for information on how to install libraries. For the purposes of that page, this library is a "user-created library".

Pros and Cons of This Display/Library

Pros:

  • The display has large and bright characters
  • It uses only 3 Arduino pins, significantly less than standard LCD modules
  • Up to 4 displays can be used simultaneously, using only 1 pin for each additional display
  • Most Library functions identically to the LiquidCrystal library/LCD modules
    • Initialization/setup which is different due to a different number of pins and fixed dimensions
    • command() is not implemented to simplify implementation and save memory

Cons:

  • The VFD requires more power than the Arduino or USB can provide directly so a separate power source is required
  • You can not make arbitrary pin connections to the Arduino. Only one of the preset pin selections can be used
  • The library uses Timer 2 interrupts, which means neither the sketch or other libraries can use this timer
  • The library disables interrupts for long enough periods of time to interfere with very timing sensitive libraries such as SoftPWM and Servo
  • Sketches or other libraries that disable interrupts for long periods of time will interfere with this library, likely causing flicker and uneven display brightness
  • The library consumes CPU time to drive the display, just over 20% for each display

If this display/library is not suitable for an particular application, the NCR 4x20 VFD may be more suitable.

Wiring

Display pin descriptons:

Display PinTest PointDescription
2TP2+5v
4TP4Data
6TP6Clock
8TP8Latch
10TP100v/GND

Power

The VFD requires 5v power rated at 1A. Do not connect to the 5v connection on the Arduino as it can not provide sufficient current. Instead, a separate 5v regulated power supply connection is required. External computer peripherals often have suitable power supplies. Connect power supply GND to display pins 10. Connect power supply 5v to display pins 2.

Caution: While the display operates on 5V, higher voltages are generated on board. As with all VFDs, the display board should not be operated outside of an appropriate enclosure.

Control Signals

It is easy to connect the display to the Arduino using commonly available single-wire M-F pin headers. If only F-F wires are available, one end can be converted to male my inserting a short length of solid wire. These wires are available connected together into a separable ribbon which can make it very easy to keep track of connections.

For unmodified example sketches, connections should be made as described below.

Display PinArduino Pin
42
63
84
10GND*

 * Display ground must be connected to both power supply ground and Arduino ground.

Library Reference

These methods differ from the implementations in LiquidCrystal:

These methods are identical to LiquidCrystal:

This LiquidCrystal method is not implemented:

  • command()

Examples

These example sketches have identical functionality to the samples in LiquidCrystal:

  • Hello World
  • Blink
  • Cursor
  • Display
  • Text Direction
  • Autoscroll
  • Serial input
  • SetCursor
  • Scroll

PrimeVfd provides two additional samples:

  • Custom Character
  • Measure CPU Usage (also demonstrates multiple displays)

Links

Share