Sure Electronics 32x16 RG LED Matrix Not Working

I have an Arduino Uno and a 32x16 Sure Electronics LED Matrix (http://www.sureelectronics.net/goods.php?id=1095). I've tried various different sketches that I've found lurking the net (including some stored on github, so in this forum, and some on the wiki) but not on has resulting in the LED's turning on.

Could the board I got from Sure Electronics be broken? How can I be sure? So far I've done the following:

  • I checked each digital output pin on the arduino and was able to blink an LED with all of them;
  • I checked each of my jump wires and was able to blink an LED with all of them;
  • I checked each pin on the IDC cable that came with the LED matrix, and was able to blink an LED with all of them;
  • I checked over and over that I plugged the correct arduino pins into the correct pin on the LED matrix
  • I even tried removing, adding, and reordering calls made to initialise the LED matrix

So, is there anything else I can do before I email Sure Electronics to get a replacement? If someone here has this board, maybe they could attach code that def. works and I can try that, at least to rule out the code being the issue.

How are you powering it?

I'm powering it using the 5v pin from the arduino, and the arduino is plugged in to my computer via usb.

First, follow this thread (if you didn't already):

Secondly, post a diagram/photo of the wires from Arduino to the display. Additionally, post the definitions of the output pins you are using in your code.

I doubt Sure will change your board without a strong proof. They usually ask for photos of the defect :frowning:

If I recall correctly, the device draws up to 500 mA. You might consider a seperate power supply to drive it. Don't forget to connect the grounds together.

I’ve attached a diagram I made using Fritzing, I hope it makes sense. The pins in the code are shown below:

//port, data, wr, clk, cs, …
ht1632c ledMatrix = ht1632c(PORTD, 7, 6, 4, 5, GEOM_32x16, 2);

This is using the code (unchanged) from http://code.google.com/p/ht1632c/.

After some reading I found that the display needs 5V 1.37A supply. 1.37A is the maximum load. As mentioned by wildbill, the arduino outputs 500mA. I tried a 5V 2.5A supply in the 2.1 jack but still got nothing. Some people in #arduino on freenode mentioned that the 2.1 jack on the Uno needs a minimum of 6V, so the regulator was probably stopping anything from getting through. I then tried a 12V 2.5A power supply and still nothing lights up.

diagram.png

the 1.37A is a recommendation for maximum. Under normal use, I draw around 400-600ma from 3 displays. The usb can more than power tihs setup. Look in the LED displays section, the github code there works just fine, as I'm running it on my setup.

Using the code from http://code.google.com/p/wiseclock2/downloads/detail?name=HT1632.zip&can=2&q= which I got via a link from the old forum http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292604415/15 and powering via usb I had not output on the led display whatsoever.

Should I now conclude that the display is fracked?

Try this one: GitHub - wildstray/ht1632c: HT1632C dotmatrix display library for Arduino (and AVR/ARM/PIC clones) As it is working on my displays. Can you post pictures of your displays connector as it is connected to your board, along with your code once you try it?

I’ve got the code but it’s super confusing. What the hell do I put in this line to get the correct port numbers?

ht1632c ledMatrix = ht1632c(PORTD, 7, 6, 4, 5, GEOM_32x16, 2);

The wiki for that library says: “Note: pin numbers are relative (0~7) to port, not absolute Arduino style pin numer (0~14, A0-A5).” Which means nothing to me. I’ve read http://code.google.com/p/ht1632c/wiki/PortManipulation and am equally confused, and that page even discourages against writing code like that.

Anyway, maybe you could tell me the values you have and which pins (arduino) you use for which pin on the display and I can just hook mine up the same :slight_smile:

I gave it a go anyway using the code as is and wired it up as follows:

data = arduino pin 7
cs = arduino pin 5
clk = arduino pin 4
wrclk = arduino pin 6

So the constructor call remained the same:

ht1632c ledMatrix = ht1632c(PORTD, 7, 6, 4, 5, GEOM_32x16, 2);

The result? Still a big fat nothing.

rioch:
I gave it a go anyway using the code as is and wired it up as follows:

data = arduino pin 7
cs = arduino pin 5
clk = arduino pin 4
wrclk = arduino pin 6

So the constructor call remained the same:

ht1632c ledMatrix = ht1632c(PORTD, 7, 6, 4, 5, GEOM_32x16, 2);

The result? Still a big fat nothing.

Your problem is that you did not read the directions. If you had, you'd know that the pins are mapped by PORT, not literally to the chip. For example, you said you're using 4,5,6 and 7. unless you're using a larger chip, like a 2560, you don't really have a Port D, since it's tied up in the TX&RX pins. If you are using an UNO, for the pins you have wired up, you're line should be something like this:

ht1632c dotmatrix = ht1632c(PORTB, 2, 3, 5, 4, GEOM_32x16, 2);

This corresponds to digital pins 10-13, see mapping here:http://www.arduino.cc/en/Hacking/PinMapping168

In the link you can see PB1,PB2,PB3, etc. I personally have my displays connected to PB2, PB3, PB4, and PB5 this translates to

DATA=PB2=Digital Pin 10=Physical Pin 16
WR=PB3=Digital Pin 11=Physical Pin 17
CLK=PB5=Digital Pin 13=Physical Pin 19
CS=PB4=Digital Pin 12=Physical Pin 18

Hopefully this makes sense to you. Just remember that the pins are by Port, not literal or by digital when it comes to the code in the link I used. Other examples and sketches do things differently.

Edit: fixed, as ATmega168/328 have a Port D, although it's tied up in the TX and RX pair.

I tried it with those settings and it still didn't work so I'm happy to accept that the LED matrix is faulty. I may not be an electronics wizz but I'm certain this is wired up correctly now so the only thing left is the board itself. I've emailed Sure Electronics so hopefully they will replace it. It's frustrating though because delivery takes forever!

Anyway, thanks everyone for your help.

I ended up contacting Sure Electronics to get a replacement board. Initially they were very reluctant to replace it, instead suggesting that I buy one of their driver boards instead. After a few more emails they realised that a driver board won't fix a broken LED Matrix and agreed to send me a new one.

It arrived yesterday and worked immediately, confirming that the original board is indeed faulty. Physically the faulty board isn't as well made as the replacement, as the 8x8 matrices don't line up very nicely at all. I checked the soldering and it appears to be correctly soldered to the board, but it does look a bit sloppy.

I hope this information helps people debug any problems they may have with an LED matrix board.

P.S. When it works, it's beautiful! :slight_smile: