Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] 8 x 8 LED Matrix displays using HT1632 (Sure De-DP100's)

Not open for further replies.


Full Member level 2
Jan 12, 2011
Reaction score
Trophy points
Activity points
I've had for a while some of Sure-Electronics' LED display kit, an LED unit with a HolTek HT1632 driving it and 4 * 8x8LEDs nicely presented. I also bought thier demo-board DE-DD210 (Pic 16f723 based), which comes with working software on board to connect it to a Java App sending commands over USB serial in a Java App...

I found the whole setup superb as it comes, except there was no pound sign. Also, they need reprogramming at every power off so not Ideal. Also the text-scrolling was lame.
But, the demo board is nice in that it has holes and links for 3 analogue turnpots. The IDC connectors make PORTB available, as well as SCLK and DATA out to the LED boards which are all linked using nice IDC sockets.

There are 2 onboard switches (RC6&7), onboard FTDI Serial & Max232 serial. I am well pleased.

But, I had trouble debugging the 16f723 on an MCD2, so I started on a different chip and board. Once the SPI-Like controls were worked out things were easy... Once all worked out I just changed the DAT and CLK lines and sent it to the PIC723 board and its perfect.

The byte for each line is stored in a char array. I have a "Write Bitmap" function that sends a whole LED of data at once (256LED's) starting at a specifyable line in the source bitmap. Simple maths and logic gives a scrolling display withing minutes. Make a 1000line bitmap and just increment the starting line each time...

So, top make it EASY to make the char[] bitmap from text, I wrote a C# program to convert a string to its bits from an 8x8 fontfile. (PixelEditor's 8x8)

So, all in all, if you wanted 500 characters of text (and drawings if you work the binary out for what you want) on a 4x1 character display, all you would need is

an ICD,
This c# Program (free to anyone)
This code for the DemoBoard (free to anyone)


If you wanted more than 4 characters, its easy but I'm sure that you'd manage it if you've got that far..!


I'll post a link to the zip and some instructions once I've compiled them... I'm a bit stretched so hopefully I would be able to get it sorted tonight but it might be a day. There will be the code, and some instructions...

Everything is based on a machine with MicrochipIDE and C# 2010 and an 8x8FontEditor.. I've goit the MCD2 RJ11 lead pushed into a connector soldered strainght into the demo board's ICD holes.

The code project i'll send is compiled in the IDE with Hitech-c, a header file is cut-and-paste filled with the Output of my little C# program which uses a font-editor output file as its source to make a single bitmap in a variable that is stored in the program memory iself so starts on load...

There are 2 ways of sending data to the Display, it is on the SPI lines so I've found I could use the onboard SSP module (as in the SURE-Electronics DOC) to talk to it if I want to send 8bits but the code in there is using bit-banged SPI so there is scope to use the USB Com-port for other things later... I have to thank for the initial get-me-going code, I've added the "SendBitmap(bintmapVar,startline)" function you will see to send a whole display at once, it just asks for the variable with the bitmap in it and which line to start from in this version, it made scrolling downwards easier although I've still yet to order another LED panel to test its multi-screen applications.....!

I've had a lot of fun with making various effects and things using a lot of <<'s and >>'s , My hobby was once writing 68000 graphical fun rave demo's on the Atari ST many years ago and its all been taking me back :)

Kind regards


Thank you for your help me.
I would like writing new program, but is it very difficult.
I can not choice AVR or Pic.

I learned a little bit "C", but lot of program Basiccom, or assembly.

If you send me source codes and they help me.


I am waiting your link.

---------- Post added at 08:54 ---------- Previous post was at 08:34 ----------

I have demo-board DE-DD210, 2x 0832 green display and pickit2.

I have modified the original progromt what I decompiler hex to asm.

I can modified some character this is too little.

I like longer scroll texts.

I'll link the HEX file too if you let me know what text you want in it,

I would expect you to take to C no problem if Basic and PIC16 are no effort. MicroChip IDE and Hi-Tech C are free, if you're willing to spend a bit extra time I'd install them on a spare machine, or as I do, in a (VMware) virtual machine , and dedicate it just to this project..

I've been thinking of how to change the Sure-Electronics code's font matrix to include a pound-sign for now, but bettter would be if I can make my code read from USB-Serial and display it, like the Sure Code but with commands for more scroll effects. If I view sure's .HEX as 8x8 binary bitmaps I recon I'll find the fontmatrix easily and just change the '~' character to have the "£" values instead.

It'll also need the 8x8 PixelFont editor available free too.

Code and Zips to follow, :)

---------- Post added at 11:23 ---------- Previous post was at 10:12 ----------!220
right, have a look in here and there are 2 zips.... One in the PIC Code project, one is the C# code project.
You'll find the .HEX in the DisplayDriver zip. If you can get a look at the project in the microchip IDE, look for the DisplayData.H which contains the bitmap of the image being scrolled. If you look at the C# progette, it will need a file loading into it that is an output from "8x8PixelFontEditor", do file- export as C header.
Have a look and let me know matey, hope it helps!!

Kind Regards
I can write "text" to your source "C" code, just build in limit the original hex code.

I'll send for you decompiler code, but no much use it. :-D.


I hope you liked the text already in there!

You're kind and clever!

Thank You Very Much these zips files!!!

I'm work, but Soon I go home and try your programs!!

These programs are useful to me as looking like a long time!


If you need anything just ask mate, thanks for your interest!! Keep us posted on any interesting developments.... :)

I do love playing with graphical programming, its my idea of a fun hobby!!!! My intention is to make one of these demo boards and probably 4 LED modules into an air-hockey game...! I can use 2 of the analogue inputs that are laid out on the demo-board as the paddle-controllers...! :)

Kind regards

I can not install MakeSinBitmap8x8 program, but I can run bin\relase\MakeSinBitmap8x8.exe it is work well.

I like write special character, example: á, é, ő, Ú, Ű.

I how to make?

I can make similar character text "Hello Neal" :), but éáúúőű not.

Last edited:

You need to download the 8x8pixelFont Editor from somewhere.... Cracking litle font editor.....
I downloading, and opening and export as c include.
I am opening file.h in MakeSinBitmap8x8 program, but no convert to "C" source code.
example "Ő" character creat error message.

But I have special AsCII PC keyboard, because I live in Hungary.


**broken link removed**

Install it all defaults, wun it and load one of its font into it and then, do "[tools]-rotate all" probably, then you need to do [File]-export as C include..... Close notepad if it comes up...................

Load up "MakeSinBitmap8x8", click [Load], and load the previously exported .h file. If its all defaults it should drop you into the right directory...... With the text you want in the top box, click compile. With the Hex/Bin option left unclicked, you will see a char[] declaration, and along side it a graphical version of the text.. Copy the whole lot into the DisplayData.h, then do the same again but change "char bmap[]" to be "charbmap2[]" and paste it on the end.... This is the Line 2 text....

I'll email you an exported font of mine to get going. You've worked out that by changing the 1's and 0's of the bitmap declaration you can do anything post-operatively I'm sure, but the font editor is excellent, I've made a few sin waves and other effects as actual characters in a font, the easiest way of doing it....


---------- Post added at 13:12 ---------- Previous post was at 13:11 ----------

Ahh, I'll check the error message, 2 secs....!

---------- Post added at 13:15 ---------- Previous post was at 13:12 ----------

Ő comes up as being Character 336 in my progrette, must be unicode.... Do you know what character nuimber it is in the font?
Example: const char bmap[] =
0b01011100, // # ###
0b00100010, // # #
0b00100010, // # #
0b00111100, // ####
0b01000100, // # #
0b01000100, // # #
0b01111000, // ####
0b10000000, // #
unsigned int BitmapLength=-1;

This Character is "á" (133)

Right, best thing I would recommend is get the progrette going in C#.... Single stepping means the error'll itself will show you the quickest answer... eg In the code,

a quick change of the compile button code
int nC =(char)c;
if (nC == 336) nC = 1;
if (c != '£') sChars= sFont[nC] + "\r\n";

would use the fontfile's character 1 instead so edit the font and add the char you want... I can write it for you and send the EXE, but if you can get C#Express2010 installed the project should run straight off as source,

---------- Post added at 13:31 ---------- Previous post was at 13:25 ----------

also ,

if (c == 'á') nC = 133;

---------- Post added at 13:35 ---------- Previous post was at 13:31 ----------

Right, look in my skydrive folder again and there is a "MakeTextBitmapUPDATED"

0b00000000, //
0b00000000, //
0b00100000, // #
0b01010101, // # # # #
0b01010101, // # # # #
0b01010100, // # # #
0b01111000, // ####
0b01000000, // #
0b00000000, //

Install c# express 2010 and i'll show you how to sort it... I'm out for bit, but good luck, you're nearly there! I'd not thought of the international implications!

As a generic way to get things going, you can easily edit the binary output to add any inflections, use an ordinary O and alter afterwards.. :)

Visual C#Express2010, installable in seconds. Most useful of tools

---------- Post added at 13:49 ---------- Previous post was at 13:49 ----------

and its Free
Alt+0213 ?

---------- Post added at 14:56 ---------- Previous post was at 14:53 ----------

Ok I will install.

Not open for further replies.

Part and Inventory Search

Welcome to