Friday, January 6, 2012

8051-based LED Matrix Scrolling Message Board.

Some time in 2011 I turned my interest into retro computing and self made electronics. I was inspired by this brilliant home brew computer project by Matt Sarnoff:
Being Commodore 64 fan I decided to build my own 8-bit retro style computer based on MOS 6502 CPU. To warm myself up, since it has been years since I wielded soldering iron or designed/programmed any circuits, I decided to build some 8051 based electronic toy, since I studied 8051 a little bit while in college.
The result is a LED Matrix Message Scrolling Board based on Atmel's 89S8253 micro controller (See fig.1).

Fig.1: Circuit diagram.


    - Atmel AT89S8253.
    - Crystal 11.0592 MHz
    - 74LS373 latch.
    - 62256 CMOS static RAM (32 K x 8).
    - Intel Flash EPROM P28F256A-200 32 kB external program memory.
    - Serial port RS 232 adapter made with MAX232 mini board from e-bay.
    - 4 x LED matrix module DE-DP13112 ver. 1.0 connected
        as a cascade I got from e-bay.


    8051 system to LED Matrix board connector:

    DE-DP13112    ->    8051 board
    WR            ->    P10
    RD            ->    P11
    DATA          ->    P12
    CS1           ->    P13
    CS2           ->    P14
    CS3           ->    P15
    CS4           ->    P16
    GND(8)        ->    GND
    GND(11)       ->    GND
    GND(13)       ->    GND
    GND(15)       ->    GND
    Vcc(12)       ->    +5V
    Vcc(14)       ->    +5V
    Vcc(16)       ->    +5V

I assembled the circuit using point to point soldering method. LED matrix cascade and controller board are mounted on two wooden slats bought in Home Depot, positioned in parallel to each other. The device then can have "legs" attached or be hanged/suspended depending on the application. I use mine in the back window of the car. Device is powered from 12V source and has 5V regulator (7805). Communication with host PC application is done via RS-232 port. 

Host application is written in Java using JCreator LE. Controller firmware is written in C and compiled with SDCC. I equipped firmware with many features and options, such us scrolling and static texts sequential displaying and scripting engine (my favorite).

Micro controller part: ledmatrx
Host app. part: SerialIOBoard

I recorded my progress and some demos on you tube.

This project is free for personal/educational use.