LED Scolling Dot Matrix Font & Graphics Generator 5x8 5x7 8x8

Picture of LED Scolling Dot Matrix Font & Graphics Generator 5x8 5x7 8x8
If you are into geeking it out with projects of the electronical kind, then you have likely wanted to create a dot matrix display or a POV. To do this you will need to have a font file or table to read the characters from.

There are alot of ways to get this file. The common sizes of displays are 5x7 and 8x8. There's alot of places online where you can get ASCII 5x7 fonts, but I am making a scrolly display with 8x8's and I wanted to use the whole height of the matrix so I created this tool to easily format and create patterns and fonts and get them into the right format for C programming.  

The attached file was created in excel and it has a couple of macros which make things easy. You will fill in the display area with 1's and 0's and then click a button and it will store your pattern in some cells below and convert everything to a hexadecimal string for popping into your C compiler or header file.

The attached file includes 5x8 fonts for A-Z, a-z, 0-9, some punctuation, and some awesome 8x8 patterns and graphics.

Not that it matters, but I am using the AVR ATtiny2313 and AVRStudio 4.16 with WinAVR GCC for controlling my scrolling display. I don't have it done yet but atleast making the font file was easy with this tool.

Check out the steps in this instructable to find out how to use the Matrix Font Generator

Remove these adsRemove these ads by Signing Up
FloydB11 month ago

This is great stuff and really useful.

I have a need to generate codes with least-significant-bit at the top. Rather than drawing upside down I'd like the change the formula in cells D10-K10 (by reversing the order of D1, D2, D3,... to D8,D7,D6,... etc.) but I can't get my head around the Excel formula protection thing and every time I go to change it, it displays the text of the formula in the cell, rather than calculating it. Please can you help me get around this?

BaburajJ1 month ago

SONUBABA2 months ago

how to this software dolwnloa plz help me ...

my email id

UFODesk3 months ago
thanks allot. I am a rookie at this electronics stuff so cant do all these complex programing. Thanks
sweet_coffee7 months ago

Nice! This helps, thank you.

Spellchecker9 months ago

"A lot" is two words, please! :)

Ramabir1 year ago
Edward_1 year ago
The Nov 9, 2010 comment's generator contains automatic links to information in another workbook, and tries and fails to update on startup. Its looking for ATPVBAEN.XLA. Any suggestions?
roznerd (author)  Edward_1 year ago
I'm not sure what you are getting at here. I haven't experienced this type of error. There are no external connections from this workbook to others. There may be something going on with your security settings which is trying to prevent the macro from running. Hopefully you can get around it and have some success. Alot of people have been successful using this download on Excel and OpenOffice.
Edward_1 year ago
I may have a dumb question, I'm just trying to learn how to use your generator.

Each time I create a pattern , and press store pattern & clear display, the result in the Left side columns 1-8 is over written. Is this correct, or should it append to the list?
roznerd (author)  Edward_1 year ago
Sorry for the slow reply. It should append. I just re-downloaded it and tried it and it worked, but the key is you HAVE to put something in cell C10 for the Name/Comment or else it will over-write what you have. It's part of the way the macro finds the end of the list and appends, if the name is blank is starts back at the top.
junaid amin2 years ago
!damo!3 years ago
I have created a simple online version of this. Will be adding more features as I go along but so far outputs the matrix to hex and bin formats.

Check it out here

Let me know if you want any features/changes/suggestions etc
Thank you my friend. Its save my time a lot.
luqvh3 years ago
can u give me the schematics of this project.. help is appreciated.. thx!
Luqman Rosley
grunftz3 years ago
thx it helped me a lott :D
parseInt4 years ago
tnx it helped me a lot.
sakuyaki4 years ago
good job!

very useful for me, thank you!
tomas1234 years ago
thanks for this great worksheet
I make same minor changes (excel 2003) for better working with 8x8 displays. You can now convert hex codes to the pattern editor.
roznerd (author)  tomas1234 years ago
Right on! I'm glad you were able to hack it to work better for you. Thanks for sharing.
NatureTM4 years ago
This worked great and I found it very useful for a project.  Thanks!
roznerd (author)  NatureTM4 years ago
Awesome! Glad it worked for you. Thanks for the feedback.
ledtech roznerd4 years ago
roznerd, thanks a million for the inspiration. I feel like I'm on the way already. I love your prompt response and as I go along the way, will certainly update you with my progress which like you said would need some time with good study/research. I am really inspired and already believe I can do it with hard work.
Thanks for your concern and all those nuggets and starter resources you furnished in your reply. I can't say how long before I do master the tech and art but I put it tentatively at the next 6 months. Thanks!
roznerd (author)  ledtech4 years ago
no problem. Good luck with your research and education. It took me about 6 months to get to the point where I was pretty proficient with C-code and doing basic tasks. I still have a lot to learn though, as we all do. If you ever have any more questions, let me know.
ledtech roznerd4 years ago
Roznerd, I am totally new to this forum and have a deep interest in Scrolling LED signage. I am a novice in this thing and the stuff about hexes and Concatenate is quite abstract to me. I need your help because I want to build such stuff myself. Where do I start from? Do I need to take lessons in Programming or something? I can make stationary LED signage but the electronics of this other interesting aspect (and the Programming of course) is what I hope to grasp now. Hope to hear from you and will be grateful for your assistance in what way you possibly can. Thanks. I'll drop you an email incase you have much more to say or info to send:

roznerd (author)  ledtech4 years ago
ledtech - That's cool that you are interested in electronics and led stuff. There's alot to learn to get up to the point where you understand and can build a scrolling led display. There's some basic concepts you'll need to understand like "multiplexing" and you'll need to learn about shift registers (I have an instructable about them and there's lots of info out there on them).

Then once you kind of get those concepts, you'll need to learn how to program a microcontroller to handle the display and do the actual work. There's alot of good platforms out there for microcontrollers (MCUs). A good beginning point is the Arduino which is based on the Atmel AVR family of MCU's. This is the site to look at for that: They are kind of pricy at $28, but they will serve as the brain for your project. they are programmed in some free software using a language that is bascially watered-down C code. If you want to get a little closer to the "real thing", then you get go striaght into working with Atmel AVR's. They are more powerful and are programmed in standard C code. A programmer will be about $30, but then the actual MCU's are only $1-$4 each. This is the route I went. Here's a good place to start reading:

You'll have to understand that this instructable for the Scrolling LED Fonts is just an easy way to create the code for each letter. There's alot of other things going on to get those letters onto the display. Getting started into programming and playing with microcontrollers is the first step. Once you have the skills and review some other peoples code for Scrolling LED displays, you'll be able to make your own.

Here's a good site that shows how a scrolling LED sign works and how to build one (his code is in assembler tho, so its not super useful unless you learn assembler code which is old school) ( you might have to look at the cached version on google becuz the site seems to be down today)

It's a journey. There's about 10 key concepts you'll need to understand about the features of a MCU to get the dot matrix LEDs to do what you want. If you go with the Arduino, there's a ton of guys out there who have already done led displays, and you could probably grab their code and just modify it as you see fit. The save is true for the AVR, but there's not as many guys using them as the Arduino because the Arduino is a bit easier for beginners.

You have a lot of reading to do on line and get started with MCU's a simple stuff like flashing LEDs, using 74HC595 shift registers, make a little POV circuit (googe it), maybe play with multiplexing some 7 segment displays, then you will be about ready to build a led scrolling display, grasshopper. There's a good instructables based on an AVR Attiny2313 (very common AVR MCU) that's called "64 pixels" and it's a simple scrolling sign. Here's a link to it:

Look through the code. Anyway, I hope this is all helpful. I can't convey all of it in an email. You're going to have to take itfrom here and start reading and playing around with MCU's. There's lots of resources out there. Good luck - roznerd
tecate1 roznerd4 years ago
I have seen POV's that are able to use multiple formats like .mov, mpg, etc.. How is that done? I would like to build a POV that I can input animation and video. Any help would be greatly appreciated. Wayne
Hint: OpenOffice.Org version 3 can already deal with the data strings, etc. and it's FREE.
Beautiful project. I remember doing font creation by hand back in the day (25 years ago).

tezo4 years ago
roznerd (author) 4 years ago
Hey everyone - Thanks for all the hits. I fixed the slashes for automatically commenting out the "name" you give to the characters. It was "\\" which is wrong for AVR Studio. I corrected it to "//".

You may have already worked around this but I caught it while programming my POV project. So here you go. The latest version is up here. 

Fred826644 years ago
I am using open office ( better fit for my money ) It did not work out at first  but looking to the right side I think I found why it did not work at first    Make sure to load the Analysis ToolPak  so the BIN2HEX function will work  Tools>Add-Ins>check "Analysis ToolPak" 

after fixing that it worked out fine. good lible
this looks great.   however, i use OpenOffice and for some reason the macros do not seem to make it through the translation.  do you think you could put up a text file with your macro code so that i could translate it in to OpenOfice?

thank you.
roznerd (author)  thatoneguydavid4 years ago
Thanks. I'm not too familiar with OpenOffice but you should be able to figure out how to get the macros and the worksheet functions to work. The worksheet functions I use are BIN2HEX and CONCATENATE.

I have uploaded the VBA code with comments if you'd like to check it out
thanks, ill give that a try

P.S. OpenOffice is a completely free open source office suite
roznerd (author) 4 years ago
frollard - You bring up a point that I forgot to mention. To get the functions to work you need to go to Tools> Add-Ins  and turn on the Analysis ToolPak. This is where most of the technical functions are kept.

Here's what Microsoft says about it:

Doing this will solve your concatenate issue. I will edit the Instructable to make this clear. Hopefully it works for you. I don't see why it wouldn't.

Thanks for the feedback.
frollard4 years ago

I'm building a pov and want to build my own fonts, etc.  Arduino being really limited for memory I'm tempted to do as much of this procedurally as possible but why didn't I think to macro the crap out of excel?!  

Beautiful, simply beautiful.  Using good formulas, conditional formatting for error checking, and macros to assemble the rig.  BEAUTIFUL!
I spoke too soon:  the Concatenate and/or bin2dec functions crap the bed for me, shows as #NAME? for all fields.  Using excel 2003.

I hate using functions that appear and disappear between versions of office.  I would have opted to have a 128*D1+64*D2+32*D3...function to figure out the decimal, then display it as hex.  Super complex?  Yes, but guaranteed to work :D