64x16 RED LED Marquee

54,563

513

64

Introduction: 64x16 RED LED Marquee

About: We're a pre-engineering academy in Tustin High School, a public high school in Orange County, CA

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!

Coded Creations

Participated in the
Coded Creations

7 People Made This Project!

Recommendations

  • Puzzles Speed Challenge

    Puzzles Speed Challenge
  • "Can't Touch This" Family Contest

    "Can't Touch This" Family Contest
  • CNC Contest 2020

    CNC Contest 2020

64 Discussions

0
tconstanty
tconstanty

7 weeks ago

For me, to make it work with this -> https://fr.aliexpress.com/item/32481337965.html, I had to change the call of drawChar()
From:
drawChar(56,16,message[count%(sizeof(message)-1)],0,false); // don't work
To
drawChar(56,0,message[count%(sizeof(message)-1)],0,false); // works

To limit the loop, I've put that drawChar() call in a if():
// 2loops
if(count < (sizeof(message)-1)*2){
drawChar(56,0,message[count%(sizeof(message)-1)],0,false);
count = (count + 1);
}
0
R. JohnsC
R. JohnsC

Question 1 year ago

me gusto mucho el proyecto pero el programa no corre alguien me podria decir por que sale ese mensaje

Sin t&iacute;tulo.jpg
0
kdalfuss
kdalfuss

Question 1 year ago on Step 2

Hello, i miss the STL File for WallMount?

0
dancopy
dancopy

Question 2 years 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
danielf401
danielf401

2 years 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

0
dancopy
dancopy

Reply 2 years 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
alleebell
alleebell

Tip 2 years 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
alleebell
alleebell

Tip 2 years 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
alleebell
alleebell

2 years ago

This line was missing.

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

1
alleebell
alleebell

2 years 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];

1
alleebell
alleebell

2 years 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
DougL60
DougL60

Question 2 years ago

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

0
wilson3682
wilson3682

2 years 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
majlogon1
majlogon1

5 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?

0
cafer
cafer

Reply 2 years ago

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

can you publish on a link

0
jack.fuller.562
jack.fuller.562

Reply 5 years ago on Introduction

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
htapaha
htapaha

Reply 5 years ago

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

0
Tustin High T-Tech
Tustin High T-Tech

Reply 5 years ago on Introduction

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.