Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Drive dot LED matrix display using LPT port and driver IC

It is convenient to drive dot LED matrix displays using IC drivers of 5×7 dot LED matrix’s like MAX6952 and MAX6953. These two IC’s differ only by data interfaces: SPI for MAX6952 and I2C for MAX6953. In this article you will se how these driver IC’s can be controlled by computer using LPT port.

Program provided here works with almost all Windows versions: 95, 98, 98SE, ME, NT, 2000 and XP. Printer ports can be used are LPT1 and LPT2. Program is called MAX6952 and it is programmed by using Visual Basic 5. To be able start this program you will ned few standard VB run time libraries: MSVBVM50.DLL. Program uses freeware driver of parallel port: DriverLINXTDLPortIO.DLL which is responsible for hardware I/O in win32.dll and are not accessible by standard VB. Windows NT and windows 2000/XP require driver too. It is DLPortIO.SYS. Both drivers are owned by Scientific Software Tools, Inc . DriverLINXT is registered trademark of Scientific Software Tools, Inc.

Firs of all installation on win98. Download file MAX6952-95.exe (793kB). This is self extractin archive which contains ReadMe.txt, ReadMeSST.txt, MAX6952.EXE, DLPortIO.DLL and MSVBVM50.DLL. By default install directory is C:MAX6952. File MSVBVM50.DLL can be removed if this library is already registered in your PC.

In order to install programm on win NT, win2000/XP, download file MAX6952-NT.EXE(2.378kB). This is self extracting archive which contains: ReadMe.txt, ReadMeSST.txt, MAX6952.EXE, PORT95NT.EXE and MSVBVM50.DLL. By default install directory is C:MAX6952. Program PORT95NT.EXE registers libraries DLPortIO.DLL and driver DLPortIO.SYS which is part of DriverLINX. File PORT95NT.EXE can be deleted after installation. This procedure may be used for win95 and win98.

Now software part is set up let’s move to hardware part. The program above uses 3 and 8 output lines of LPT port for SPI interface simulation and additional 2 lines for I2C interface simulation. One line of port is used for reading blink status. It is possible to control several IC MAX6952 (up to 16 in series) ant one time. You can choose LPT1 or LPT2 within program interface. Port may be working in standard, ECP or RPP mode. Connection circuit bellow:


Program window after start up is bellow. Initial state of registers of MAX6952 and MAX6953 are seen here after power up. Select driver type: MAX6952 – SPI or MAX6953- I2C.


When are working in SPI mode it is possible to control 16 drivers. Drivers are connected in cascade: DOUT of first driver IC is connected to DIN of second driver IC of MAX6952 and so on.

Number of drivers is defined by slider “Number of Drivers”. When setting up more than one driver – “Enable global driver write” and “Enable auto-increment” check-boxes enables. When “Enable global driver write” is unchecked then during command execution writing is done only to driver which is selected by slider “Current Driver”. If check-box “Enable global driver write” is checked then same data is written to all drivers. If “Enable auto-increment” is checked then driver counter increases automatically. This allows to send different data to all drivers of  Dot LED matrix in series.

After program is started SPI interface can be tested with function “Test Stream” which is located in “PORT Connections and Help…”. “Test Stream” utility continuously sends NOP code to drivers to test them.

When working in I2C mode, program also allows to control up to 16 drivers MAX6953. Firs driver has address of 1010000x following drivers have addresses up to 1011111x. Other control is the same as for SPI mode. Testing is also done by function “Test Stream”:


Now comes the fun part – “Design User Fonts” this button calls procedure which allows creating and storing User Symbols that will be displayed in dot LED matrix. By default there are pre-built few symbols that are stored in MAX6952_fonts.txt file:


Interface is very intuitive. Symbols that you create can be saved to file or sent to drivers of dot LED matrix.

Data file format is as follows:

Font 0Data 00011100Data 00011100Data 00011100Data 00011100Data 00011100
Font 1Data 01111111Data 01111111Data 00111110Data 00011100Data 00001000
Font 2Data 00000000Data 00000000Data 01111111Data 00000000Data 00000000...

Font xx – shows font number where xx can be from 0 to 23;

Dataxxxxxxxx – one row of 8 bit data for dot LED matrix (up to 7 rows for one symbol);

Data is saved fro MSB to LSB which describe symbol.


  1. Filip Jaskólski

    Great article. Could you do me a favour, and show the whole schematic? I’d very appreciate. Thanks in advance.

  2. I agree with Flip, I was also lookking for a schematic. Thanks anyway, nice article.

  3. I have been designing with the MAX6952 and they work
    fine, have you been able to scroll Text using them


  4. Hello phil I looked into the data sheet of 6953 could not understnd pls do me favour if I want to display my name wht should be done after the start condition and address byte

  5. i too interested in the schematic part of this design. Mr.Filip and Dr.Amer have you got schematic.
    can any any one please send me the schematic to me.

    thanks in advance.
    With Regards,

  6. Highly interested in schematic, too.
    Could you share it with us?
    Thanks, David.

  7. still waiting for the schematic….

    Please share if any one has…

    sribalajitech [] gmail []com

    i too interested in the schematic part of this design. Mr.Filip and Dr.Amer have you got schematic.
    can any any one please send me the schematic to me.

    thanks in advance.
    With Regards,

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.