Problems getting started with Sure Electronics 3208

Hi all, I'm an Arduino freshman, trying to get my first project off the ground.

I have bought a bunch of Sure Electronics 3208 green LED matrices ([1]), and have wired one up to the Arduino following the instructions at [2].

This includes using the library from [3]. I've got everything wired up as specified (photo: [4]).
I have used a voltmeter, and the wiring seems to be OK. I also know that the LED matrix works, as I have tested it with a demo board from Sure.

I'm using the example code at [2]. The code compiles and uploads to the Arduino, but then, nothing happens. Not a single LED on the matrix lights up.
What am I missing?

EDIT: I should of course mention that I'm using an Arduino UNO.

[1] http://www.sureelectronics.net/goods.php?id=1120
[2] http://scuola.arduino.cc/en/content/interfacing-arduino-uno-sure-electronics-led-dot-matrix-based-ht1632c-controller
[3] GitHub - gauravmm/HT1632-for-Arduino: A powerful library that allows an Arduino to interface with the popular Holtek HT1632C LED driver.
[4] https://picasaweb.google.com/lh/photo/rJaCMdkvp4FgxuHygYniydMTjNZETYmyPJy0liipFm0?feat=directlink

The display has a group of 4 switches on the back to specify CS. Usually, CS2 is on, the rest off.
The code you are using seems to use CS1, so make sure those switches are set correctly.

Yes, should have mentioned that. The CS1 switch is on, the others are off.

Make sure the initialization procedure is also correct. Some time ago I wrote this post:

I use this library to test the 3208 display:
http://code.google.com/p/wiseclock2/downloads/detail?name=Test_3208.pde&can=2&q=#makechanges

Thanks florinc, I downloaded your code. It seems to be for an older Arduino (I have the Arduino Uno), but it compiled when I subsituted #include <WProgram.h> with #include <Arduino.h>.

I then rewired to match the pin setup in your program (photo: https://picasaweb.google.com/lh/photo/1wFiEHNxlyF3gvNbT-bFI9MTjNZETYmyPJy0liipFm0?feat=directlink)

Finally, I replaced parts of the ht1632_setup method with the code from your blog post, so that the program now looks like this: sure-3208-arduino-code-1 - Pastebin.com

However, still nothing on the LED matrix.

I'm feeling I'm missing something obvious here - but what? I'm a total Arduino newbie, so no suggestions are stupid suggestions.

I am looking at your photo.
In the ribbon cable, wire #1 is marked with red.
Vcc (the single red wire in your case) should be closer to wire #15, not wire #1 as in your photo.

Thanks for spotting! You're right, I had some confusion over the pins on the ribbon cable.

I believe this should be the right wiring: https://picasaweb.google.com/lh/photo/_ukG9Az6OFI5qOZnCQMMRdMTjNZETYmyPJy0liipFm0?feat=directlink

But still no dice.

The ribbon cable is connected to the BR1 socket of the 3208. When I probe the BR2 socket with a voltmeter, I get these readings:
Pin 3 (CS1), 6 (RD), 10 (SYNC), 12-16 (+5V): +5V
Pin 5 (WR): +2V
Pin 7 (DATA): +3V
All others: 0V

Does this seem reasonable? I guess the WR and DATA values are simply due to the fact that they are alternating between +5 and 0, thus the low-voltage readings on my analogue voltmeter.

(By the way, do you know how to create wiring diagrams like those on http://scuola.arduino.cc/en/content/interfacing-arduino-uno-sure-electronics-led-dot-matrix-based-ht1632c-controller#internal-source-marker_0.19548129406757653 ?)

5V on CS1 looks suspicious.
Try moving to CS2 (pin 1). Also, don't forget the switch.
I would also check the CS wire and pin 8 of Arduino (try moving to pin 9, for example).

how to create wiring diagrams

I think you are talking about Fritzing.

OK, tried moving the blue cable to pin 1 on the matrix and pin 9 on the Arduino. Altered the code so that

#define HT1632_CS  9

and set the dip switches to CS2.

The wiring is now identical to the attached diagram.

No change, except that pin 1 now reads +5V.

Are you sure about the ht1632_sendcmd(HT1632_CMD_MSTMD);?
From ht1632.h: #define HT1632_CMD_MSTMD  0x14 /* CMD= 0001-01xx-x Master Mode */, but from what I can see in the
HT1632C datasheet (http://www.holtek.com/pdf/consumer/ht1632cv120.pdf), Master Mode is 0001-10XX-X.

EDIT: OK, now I see that 0001-10XX-X (0x18) is refered to as "RC Master Mode" in the datasheet, which is called HT1632_CMD_RCCLK - "Use on-chip clock" in ht1632.h, and ht1632_sendcmd(HT1632_CMD_RCCLK); is called from setup.
Anyway, I tried commenting out ht1632_sendcmd(HT1632_CMD_MSTMD), without any other result.

Oh, and I've tried several different LED matrixes (I have eight of them).

I think you are talking about Fritzing.

Indeed, thanks :slight_smile:

Got it! It was as simple as loose wiring. Seems the breadboard wires I got did not sit well in the IDC cable. By clutching the hole setup in my hand, I'm able to display text!

Florinc, thank you for your very kind help and extreme patience. As mentioned, I'm a total newbie on Arduino, so I was not looking for solutions in the right places.

Looking forward to coding now!

I am glad you figured it out. There is really not much that can go wrong with that setup. Sometimes even the wires may be interrupted.
Keep us posted with the progress of your project(s).

Hai Flo, Hai Vramdal
my yellow dot matrix still can't be on,

i want to ask you, from the code you've shared at :
http://code.google.com/p/wiseclock2/downloads/detail?name=Test_3208.pde&can=2&q=#makechanges

  1. i use chip select 1,
    do i must change the "(byte chipno)" or just the "chipno" at this code :
    void ht1632_chipselect(byte chipno)

  2. what is %d at this code :
    DEBUGPRINT("\nHT1632(%d) ", chipno)

  3. what is the "byte bits" and "byte firstbit" for this code :
    void ht1632_writebits (byte bits, byte firstbit)

  4. what is byte command for this code :
    static void ht1632_sendcmd (byte command)

  5. what is "byte address" and "byte data" for this code :
    static void ht1632_senddata (byte address, byte data)

  6. what is "addr" and "bits" for this code :
    ht1632_senddata(addr, bits)