LED Matrix “Pong” Clock

 

20140904_110459

 

Click HERE to see a video of it in action on Youtube.

 

LED Module

You can buy some nice LED display modules on Ebay for very reasonable prices.

One typical example are the DE-DP14112 and DE-DP14211 3216 LED dot matrix display boards, manufactured by Sure electronics. They are sold by a number of Chinese  and Hong Kong retailers for around £20 for the version with 3mm LEDs, and £25 for the larger version with 5mm LEDs. The price does include P&P, but be aware that if you are unlucky and customs check the package, you may need to pay VAT and import duty, plus a £8 handling charge to Royal Mail.

The board contains 512 Red/Green LEDs arranged in a 32 x 16 matrix, plus four HT1632C LED driver ICs and some CMOS buffers and shift-registers to drive and select the relevant LED driver.

 

 

It’s pretty simple to connect one of these boards to an LPLC – the CS and CLK lines drive a shift-register to select one of the four HT1632C LED driver ICs, and the WR and DATA lines load data serially into the selected HT1632C.

The display module needs a +5volt supply. When all the LEDs are lit, it will draw two or three amps, but in this application, only a small fraction of the LEDs are lit at any one time, and average current consumption is around 300mA, so a 5 volt, 500mA USB phone charger supply should be sufficient.

Circuit

A voltage regulator reduces the 5 Volt supply down to 3.3 Volts for the LPLC. I used an MCP1702-3302, but any low drop-out 3.3v regulator would be fine.

In theory we should add a buffer to boost the 3 volt data signals from the LPLC up to the 5 volts required by the display board (I used a 74HCT365 on the original prototype), but in practice it seems to work fine without it.

Although it is possible to use the internal Real Time Clock module and 32KHz crystal in the LPLC, I decided to use an external Sparkfun DS3234 “DeadOn” RTC module. This is laser trimmed and temperature compensated by the manufacturer, so it should be more accurate. I also wanted the clock to keep time from a standby battery when not in use. Doing this in the PIC would require extra software and power supply electronics to detect the power failing and switch over to low power battery “sleep” mode.

Two push buttons allow the display mode to be changed, and the clock to be set.

Circuit Diagram

 

Wiring

Construction isn’t at all critical as long as you keep the leads to the display reasonably short. I used a piece of matrix board and jumper wires, but you could use a breadboard, PCB or anything you like.

photo(1)

Connecting to the LED module

+5 volt Power and ground is fed into screw terminals on the LED display (the black ground wire is hidden out of view in the photo, but it is there!)

For the 2 power and 4 data connections from the LED display to the PCB, I used a set of female jumper wires, cut off one end and soldered it into the PCB. The female connectors make a nice push-fit to the plug on the LED module (make sure you use the INPUT connector, not the OUTPUT one!)

Connecting to the LED module

Connecting to the LED module

 

 Software

The current version of the software for this project can be downloaded from here. It seems to work nicely, but it was put together quickly and is far from perfect. No doubt it could be improved in many ways – with nicer animations for example. Please let me know if you make any changes.

Gary Bleads G0HJQ

3 Comments

  1. Great post Gary, thanks. I’m going to make one for the kids :o)

    Mike

    Reply
  2. what kind of IDE(Programming tool)have you used

    Reply
    • Hi Raam,

      I used Microchip MPLAB-X, with the free version of the XC8 C compiler, and a microchip Pickit-3 to load the program into the PIC.

      Gary

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *