Table of Contents

NEC FC40X2DA Alphanumeric VFD

Introduction

There was nothing out there about this VFD (which I recall came from some sort of industrial controller), so I decided to finally have a poke and get it running.

Pinout

Pin number Function
1 D0
3 D1
5 D2
7 D3
9 D4
11 D5
13 D6
15 D7
17 Strobe
19 Cursor/nData
21 nR/W
23 nCS
25 nTEST (DOUT?)
27 (BUSY?)
29 nBlank
31 nRST
33 NC

All even pins are GND.

Power is provided through a 2-pin connector: +5V is towards the data connector, GND is towards the boost converter.

More details about the pins:

All inputs and bidirectional lines have internal pull-ups, 22Ω series resistors and are happy accepting 3.3V logic.

Data Format

Control of the display appears to be very limited, there do not seem to be any obviously accessible control registers. Instead, characters below 0x20 control some aspects of the display, whilst all other data represents characters.

The control characters are as follows:

Character (hex) Function Description
08 Backspace Moves cursor left (without affecting any characters)
09 Tab Moves cursor right (without affecting any characters)
0A Line Feed Moves cursor to next line (depending on scrolling mode)
0D Home Returns cursor to top left (character 0)
11 Scroll off At the end of the 2nd line, cursor wraps back to beginning of 1st. Likewise, Line Feed on second line moves cursor to first.
12 Scroll on At the end of the 2nd line, the display scrolls up, and the cursor is moved to the beginning of the (now empty) 2nd line. Line feed on second line does not move cursor off second line.
13 Cursor Solid Cursor is shown as a solid underline
14 Cursor Off No cursor is shown
15 Cursor Blink Cursor is shown as a blinking underline
1B Goto XY The following two characters are interpreted as x and y position, e.g. 1B 02 01 moves the cursor to the 3rd character on the 2nd line

It is likely that there are other control characters that I have not managed to identify. In particular, I am missing user-defined characters.

Character Set

The following images show the characters from 0x20 - 0xFF. Note the gap between 0xD1 and 0xDE, which looks suspiciously like it could contain user-defined characters.