Go Down

Topic: SparkFun 7-Segment Serial Display - COM-11441 un-responsive (Read 4095 times) previous topic - next topic


I am new to Arduino and embedded programming. I have done testing on embedded processors and boards just never programmed them before.

I have an Adruino Uno and a SparkFun 7-Segment Serial Display - COM-11441.
Using the example code I had it working in 10 minutes. It was counting the number of cycles and writing it to the display.
I modified the code to increment or decrement a value and send it to the display based on two digital inputs, one to increment, one to decrement.
After downloading the display read "0000" as expected then I took the jumper in hand to touch it to the GND pin, the value started incrementing without me touching the GND pin on the Arduino until the display went blank.
Now no matter what I do the display will not show anything.
I tried loading other sketches that talk to the display, like the one that changes the brightness without success.
Power/unpower makes no difference.
I tried remming out the code and executing the reset display code without success.

I am making the "assumption" the Arduino on the display needs to be reset
The firmware needs to be re-downloaded to the display
There is a reset process for the display I just can't find.

I have a hard time believing I blew it up when no magic smoke came out and it was working with the sample code just fine.

The whole point to the project is to create a 0-99 minute timer. One button will increment the first two digits of the display to 99 another will decrement the number to 00. Another button will be a start/stop button to start the timing process to count down from the set number of minutes to 00. The counting down digits are the last two digits in the display.

I selected the serial display because there is a processor on the display I might want to use for another project and figured the serial interface would be simple and easy to write data to.

So, anybody run into one of these displays that went "unresponsive"?
If you have, what did you do to wake it up again?

Any help is appreciated.



Well, it may "blow" without the blue smoke, too. If all you did was touch a floating line, it "shouldn't" blow - but no guarantees.

So, back to basics. Only supply 5V/GND to it. Does it light up as it should? (I cant see from the spec if there is a Pwr or "LED13" on the board)

As I understand it, you can connect the FTDI (i.e. connect the display via an FTDI/UDB cable to your pc) and then use the Serial monitor to send "1234" and it should show up as such.

Reflashing the program on it (using the FTDI header connection) seems drastic - but is really the next step. Prsumably you can get the code from sparkfun/github


Thanks for the reply.
I supplied 5vdc and gnd from the Uno.
With power supplied, it's blank no digits are lit and thats with serial data being written to the display.
As far as I can tell, you care correct, no Pin 13 LED.
There is a processor on board that, as I understand, does the serial to individual digit conversion.(I could be wrong)
I will connect the FTDI to it and report back.

Thanks again for the help, it's greatly appreciated.

(Love this stuff simple and yet powerfull at the same time!)

On a side note...
The project I have in mind is to do a world time zone digital clock. Each on these would have a small program in them to receive a 1 pps signal from an atomic clock movement. Then display the time for the zone it's programmed for. I think it would be cool to see the minutes tick over all at the same time.



I'm not clear on what exactly happened with the jumper, but have you tried both the async and the SPI inputs on the display?


No, I haven't had a chance to try the things listed. My DSL Modem died and I spent all evening getting a new one and re-configuring it so we have internet again after shelling out $100 for an "att" modem (groan)!
(Soapbox: I think it's insane to charge people $50 for basic internet. Looking around for a cheaper ISP reveals nothing, they are all around $50!!!)

Once I get a chance to get back in the basement I will try the things listed in the replies.
Thank you VERY much for the help, I appreciate all the replies.

I found the following on the display:
Factory Reset (0x81)

If your display is unresponsive (usually this is due to an unknown baud rate setting), try using the factory reset command: 0x81. This command does not have a trailing data byte.

After receiving this command, the display performs three actions:
1. Set the baud rate to 9600 bps. This setting is saved in non-volatile memory. 2. Set the I2C address to the default 0x71. This is saved in non-volatile memory too. 3. Rest the brightness to 100%. Again, stored in non-volatile memory.

Example: Recovering from an unknown baud rate

The most common problem with these displays is when they're accidentally configured to an undesired baud rate. They become unresponsive to the expected baud rate, and because this setting is stored in memory it can be hard to recover from. Side-note: If you have the display connected to your Arduino's hardware serial pins, which are also used to program the board, there's a chance the display could receive commands - like baud setting - that weren't meant for it.

The following lines of Arduino code have come in handy, when you need to bring the display back to its default setting:
Code: [Select]
int baudRates[12] = {2400, 4800, 9600, 14400, 19200, 38400,
57600, 7600, 115200, 250000, 500000, 1000000};
for (int i=0; i<12; i++)
  Serial.begin(baudRates[i]);  // Set new baud rate
  delay(10);  // Arduino needs a moment to setup serial
  Serial.write(0x81);  // Send factory reset command

delay(10);  // Arduino needs a moment to setup serial
Serial.write(0x76);  // Clear the display


Haaa, don't get me started on AT&T ]:D

I was just thinking, if the problem is that the async interface got set to some weird baud rate, maybe it can be reset by sending the command via the SPI interface. I have a couple of these displays, but not sure I've ever tried that, sending a baud rate command via SPI. Maybe that would work, if it were me, I wouldn't have gone out of my way to make the baud rate command only work via async.


(Soapbox Reply: I actually asked the ATT rep if they thought $50/month was "reasonable" for basic internet. Of course they said, "sure"! I asked if they get a discount, they said "yes". I said if ATT can afford to give you a discount then they can afford to give us a discount too! They said, "No!, Thats an employee perk". I said, maybe they would keep more customers if they "perked" their customers!!!)

Right now I have it setup using I2C communication. But it's bread boarded so I can change the communication interface.

Thanks much!


I connected the display via SPI and got it working.
Once working I switched back to I2C and it didn't work.
I have another brand new display and hesitated to connect it for fear of that one becoming dead too but I connected it via I2C and it worked.
So, my conclusion is, I blew the I2C comm port.

Thanks to everyone who replied, I appreciate the help!

Now to figure out how to download a sketch to the display....


Actually that would be the serial port. (On an Uno the I2C port is pins A4 and A5.)

Go Up