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




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

About: Mechanical Engineer

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

Step 1: Open the Generator File - Get Excel Setup

Download and open the "Dot_Matrix_Font_Generator.xls" file. It contains macros which means you may have trouble opening it depending on your security settings. I promise that it is safe. You will need to enable and/or allow the macros to load for this to work. If you aren't prompted upon opening then this will we under either:
Tools>Options>Security   or  Tools>Macros>Security

Here's what Microsoft says about this

For the excel functions to work you have to turn on one of the technical Add-Ins.
Go to  Tools> Add-Ins   and Check the "Analysis ToolPak". This will allow the functions to do their thing. If you don't have it installed follow Microsofts instructions here:

If you don't have the Add-In turned on then the column total cells in row #10 will show a #NAME.


The design is pretty intuitive.

Type a 1 for an LED you want on, a 0 for those you want off. Numbers other than 1 and 0 will cause the cell to turn red which means you better fix it or you get weirdness later. You will likely see ## or #NUM in those cells if you put something other and 1 or 0 in there.

Step 2: Input Letters or Patterns

Set up a character or pattern. Note how the unformatted hex values show up below each column of the display.

Make sure the name is included so you can identify later in your code.

Step 3: Store Pattern and Clear Display

Once the pattern is input you will click the "Store Pattern & Clear Display" button. This will paste the hex values and name/comment in the next available row below. It will also clear out the display and place the cursor in the name cell. At this point you are ready to create the next character or pattern.

You can see how they stack up in the image included. You can shuffle them later if you don't like the order.

Step 4: Format C Code String

Now when you have the patterns you want to read into your C code, you click the "Format C Code String" button. This will take the raw hex values and paste them to the right with the "0x" in front of them. Then it will concatenate all of these into a string including the commented name/label you gave it separated by a ", ". It will also include the name you gave the character/pattern commented out by "//" on the end so you can identify it again later.

You will be prompted with a message box which will ask if you are doing a 5x8 font or a 8x8 pattern. A YES click will give you a 5 digit string for fonts, while a NO click will give you a 8 digit string for patterns.  You will need to batch your fonts and patterns separately since you can't do both types in one run.

See the pics for the prompt and the results

Now you can copy the cells with the formatted strings and paste them into TextPad or your compiler window.

**I kept this open source so if you don't like the formatting you can unprotect the sheet, there's not password. You can go play with the VBA macro and tweak it if you like.

Step 5: Clear All Stored Patterns

When you are done with the stuff in the stored pattern region for whatever reason. Click the "Clear All Stored Patterns" button.

You will get a prompt reminding you that this can't be undo, just so you don't accidentally clear your hard work.  Click OK or Cancel.  See pic of prompt

Also see results pic of clearing.

Step 6: Predefined 5x8 Font Data and Awesome Patterns

I made a 5x8 font set for my 8x8 scrolly display. It's shown on the second sheet for your use. There's some creative patterns on there too.

Thanks for checking this out. Please contact me if there's any questions or bugs. Hopefully it will be useful for you, since there's not alot of 5x8 data out there and most of the online dot matrix applets are lame for doing large quantities of stuff.

Also please comment if have feedback.



  • Fix It! Contest

    Fix It! Contest
  • Water Contest

    Water Contest
  • Tiny Home Contest

    Tiny Home Contest

50 Discussions

What if im going to create 80 columns and 32 rows, how would I going to do this?


2 years ago

This work helped me to do a dot matrix project

This was extremely helpful for a project I am working on.

Awesome, thank you! The "C program string" for a 5x8 font has saved me heaps of time. Does anyone know where I might find a similar reference for a n x12 or n x16 dotmatrix font?

What are the changes required to generate codes in decimal format.

Hello and only time Thank you.
I had the same idea, so I can read the entire row and then with "Mid (.......)" the right code to the left and left to right.
I am a beginner and still have so many problems. One of these is my English skills. So look for it on the net for help, then translate the text. Then comes this I have no idea about C ++ and no electronics:-).
But luckily there are those like her who then a help.


how to this software dolwnloa plz help me ...

my email id babaledboard@gmail.com

1 reply

You should be able to just download the XLS file directly from Instructables here at the bottom of the tutorial. If not, you may need to log in or something. I haven't heard of anyone else running into issues with downloading.

I would need to know more about what you mean to really be able to help. If you are seeing mirrored characters on your LED matrix displays, it probably has to do with the order you are reading the columns in. In your MCU code, you may need to actually read the string of HEX values in last-to-first to get them to show normal on your screen. You could also, re-order the column numbering. Just some ideas. If you want to, you could also tweak the Excel file to flip the order of the hex values in the strings as well, and just leave your project as is. To flip these, you would need to go into the macro VBA code in the XLS file and re-roder the starting and ending columns for the hex string concatenation. Hopefully this helps.

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?

1 reply

Floyd - Sorry for the slow reply. I have re-downloaded this and tried out the modification you mentioned. I saw that same problem you described. The sheet should not actually have protections, but Excel 07 did block the macros upfront. This would not effect the re-calculation of the cell formulas though. What I did find though is that, as the tutorial describes, I had to go into the Excel options and turn on the Analysis Tool Pack Add-In to get it to deal with the BIN2HEX call out. Then I also, noticed that for some reason, that first cell appears to be a "Text" type cell and this seems to have been forcing the formulas to show as text rather than actually calculating. I changed the format to be "General" or "Number" and it re-calced perfectly. You may have to delete the "=" sign, hit enter, then re-add it back in to get it to display the first time. From there out, it should be good to do with whatever other mods you want to make. If you have to swap the way the columns are stacked from LEFT to RIGHT, then you will need to dive into the macro code, which is clean and well commented, but it is another task all together. Anyway, I hope this helps.

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

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?

1 reply

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.

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?