64x16 RED LED Marquee

46,422

507

60

The purpose of this small scale LED marquee is to display messages to our classroom in a more modern and centralized way. In the classroom, this construction would save white board space and is convenient because it can store a large amount of information. It is also fairly simple to program and has a mount, making it easy to place anywhere within the classroom setting.

Step 1: Materials

The first step of this project is to gather all the materials necessary to assemble your miniature marquee.

  • 1 64x16 LED matrix that can be ordered here.
  • Access to a 3D modeling computer program such as SolidWorks in which you will be able to create the mount for the Marquee and the containment box for the arduino processor
  • 1 Arduino UNO processor and Arduino coding software
  • 1 9v battery
  • 9 male-female pin cables

Step 2: Construct Your Marquee Mount

Using your 3D software (we used SolidWorks), design a mount and Arduino processor containment box.

We have provided our own measurements and STL files for both the mount and the containment box, but feel free to make your own adjustments.

Print out your designs.

Step 3: Schematic/Pin Assignments

The next thing you need to do is wire the electronic marquee to the Arduino. The pin assignments are as follows (as well as included in the code):

LT=8;

SK=12;

R1=10;

R2=11;

EN=2;

LA=3;

LB=4;

LC=5;

LD=6;

GND=GND

Note: we had to toy with this quite a bit in order to get the correct fit for our marquee. If you purchase a different LED panel, you may need to alter the pin assignments to meet your own needs.

Step 4: Program Your Marquee and Add Power

Attached is the arduino code that we used for our marquee.

Adjust our provided code to your purpose and upload your message into your arduino.

Using a battery power adapter, connect your arduino processor to your nine volt battery to power up your marquee!

4 People Made This Project!

Recommendations

  • First Time Author

    First Time Author
  • PCB Contest

    PCB Contest
  • Big and Small Contest

    Big and Small Contest

60 Discussions

0
None
kdalfuss

Question 1 day ago on Step 2

Hello, i miss the STL File for WallMount?

0
None
dancopy

Question 7 months ago

I would like to make a clock HH;MM;SS with this screen but I do not have enough knowledge; if anyone did, share the arduino code, please!

0
None
danielf401

12 months ago

1.Este proyecto es muy interesante y la verdad es que funciona muy bien.estoy interesado en hacer un reloj con temperatura y humedad, con esta placa me podrian ayudar con el codigo???

muchas gracias

1 reply
0
None
dancopydanielf401

Reply 7 months ago

¡Oi dani! ¿Conseguiste algo?
También me gustaría hacer un reloj con esa pantalla pero no tengo suficiente conocimiento; si usted consiguió, comparta conmigo, por favor! (meuviolino@hotmail.com)

0
None
alleebell

Tip 9 months ago

FYI - The "ino" file is from Tustin High T-Tech - the code may be a test for the students to find the errors. I find numerous. Enjoy!

0
None
alleebell

Tip 9 months ago

The for loop inside void loop(); should be i < 7 or 8 NOT < 4. You should play 7, then 8 to see which variable you like.

----------------------------------------------------------------------------

// move the text 7 pixels (not 8 because it looks better) to the left

for (byte i=0; i<8; i++) {

delay(100);

moveLeft(1,0,15);

};

0
None
alleebell

9 months ago

This line was missing.

buffer[7+(i*8)]=charbytes[i];

0
None
alleebell

9 months ago

Update of blank LED module - I find a line is missing from the posted Arduino file. I added the bold-faced text below in the void drawChar(uint16_t x, uint16_t y, byte n, byte font, boolean inverse) routine. It is now displaying rolling text.

--------------------------------------------------------------------

// addressing start at buffer and add y (rows) * (WIDTH is 64 so WIDTH/8) is 8 plus (x / 8) is 0 to 7

byte *pDst = buffer + (y << 3) + xover8;

for (byte i=0;i<fontrows;i++)

{ // fill up the charbytes array with the right bits

if (font==0) charbytes[i] = pgm_read_byte(&(font8x16_basic[index+i]));

buffer[7+(i*8)]=charbytes[i];

// reverse bit order for fonts 0 and 1

if (font != 0)

{

charbytes[i] = (charbytes[i] & 0xF0) >> 4 | (charbytes[i] & 0x0F) << 4;

charbytes[i] = (charbytes[i] & 0xCC) >> 2 | (charbytes[i] & 0x33) << 2;

charbytes[i] = (charbytes[i] & 0xAA) >> 1 | (charbytes[i] & 0x55) << 1;

};

if (inverse) charbytes[i] = ~charbytes[i];

0
None
alleebell

9 months ago on Step 2

Blank Display & pgnspace.h not find

I got a new 64x16 LED module from ebay. Followed the instruction here, I got a blank display. Then I find this project https://chioszrobots.com/2014/08/01/64x16-dot-matrix-led-diy-red-arduino-projects-robots/ to test my wiring between the UNO and the LED module. Many thanks to this user, the code displays several fix images on the LED. I was able to confirm that I have no wiring errors.

For users with complier problem similar to pgmspace.h not find, please check this link - https://github.com/mikalhart/galileo-Pgmspace.h/

As of now, I am not able to display text on the LED module. I still troubleshoot the code one module at a time. Tips for those are lost and don’t know where to start. 1) instead of all zero in the buffer[256] array, just enter some data. For example buffer[0] = 1, buffer[1] = 2, buffer[2] = 4, buffer[3] = 8 etc. You should be able to see LED turn on on the top row of the module. 2) complie the link I mentioned earlier. I was so happy to see “I Love You” on the LED module instead of nothing.

0
None
DougL60

Question 10 months ago

How could I change code to scroll across three matrix displays (so total width of 64x3=172)

0
None
wilson3682

10 months ago

Nice Project Girls. I downloaded the 3D printer files but the wall mount file is not included. Could you please share that file?

Thanks!

0
None
majlogon1

3 years ago on Introduction

I am having an issue with your code: It seems that the latest version of the Arduino IDE will not compile your code with the "#include <pgmspace.h>" in the code. When I commented the line out, the program will compile, but all I get is a solid red marquee upon upload. Any suggestions?

4 replies
0
None
cafermajlogon1

Reply 1 year ago

ı can not dowload #include <pgmspace.h>.So, this program give a eror

can you publish on a link

I found that I do not need the R2 = pin 11 connection on Arduino; when removed, the code works fine. I respect the work and effort that went into its code development. Nice job.

0
None
htapahamajlogon1

Reply 3 years ago

the pgspace.h is already in the IDE library so delete that line because it's not necessary

We had to do a lot of toying with the code to fit our own needs and the particular marquee that we have, and so our best suggestion would be to do the same - take a look at the latter parts of the code.

0
None
ronw5

3 years ago

Well I got my marquee today, 3 actually, which are identical to yours. Hooked it to my uno using your sketch and it doesn't do anything. Sketch compiles OK...triple checked the wireing based on the sketch/pictures but it's like it's not getting power. I'm using a fresh 9v battery and I also tried another board incase one was faulty. Must be something I'm missing. I also tried using a seperate 5v to the power connection on the back of the display.
Any suggestions????

3 replies
0
None
jholwegeronw5

Reply 3 years ago on Introduction

I found that the drawChar line did not work. It is set to start drawing on row 16, I had to move it to 0.

drawChar(56,16,message

Changed to

drawChar(56,0,message...

0
None
Murrphyjholwege

Reply 1 year ago

Thank you! This fixed the problem for me and its working now!