Retired!

This is a retired product, but fear not as there is a newer, better version available: COM-11441

Creative Commons images are CC BY-NC-SA 3.0

Retired RETIRED

This product has been retired from our catalog and is no longer for sale.

This page is made available for those looking for datasheets and the simply curious. Please refer to the description to see if a replacement part is available.

Replacement: COM-11441. We've overhauled this board adding I2C functionality, and Arduino bootloader and mounting holes! This page is for reference only.

Description: The 7-Segment Serial Display turns the thirteen pins necessary to control a 4-digit seven segment display into just one or three. The display will give you full control of all digits, decimal points, the colon and the apostrophe. At the heart of the display is an ATMega328 which controls all the serial communications and the 4-digit 7-segment display through an easy to use API.

The Serial 7-Segment Display can be controlled in one of two ways: (1) serial TTL communication or (2) SPI serial communication. Regardless of which method you use to communicate with the display, the display is controlled with 4-byte packets and special 2-byte commands.

New for version 2: The input and power pins have been moved to the top of the display, allowing you to place the displays side-by-side. Additional characters have been added, including the "-". A reset display command and single character control have also been added. See the new User's manual below for detailed information about all of the new features!
 
Features:

  • 4 digit red alpha-numeric display with serial (1 pin) or SPI interface (3 pins)
  • Display numbers, most letters, and a few special characters
  • Individual control of decimal points, apostrophe, and colon
  • Selectable baud rate (4800 to 57600 bps)
  • Selectable brightness
  • Baud rate and brightness values retained in non-volatile memory
  • Individual segment control for each digit

Documents:

Comments 47 comments

  • Why are there no current limiting resistors in the seven segment display. This will over load the output pins of the ATmega 328, you only need to draw 40mA to start causing damage, or don’t you mind destroying the chip because you can sell folks another one?

    • Mike, I somehow ended up here with the same question in my head. Opened their design file to confirm there’s no current-limiting resistors and the only silver lining is there are resistors in the display. But I would rather ask SPE engineers that.

  • Is there a tutorial for this anywhere?

  • I am currently using this display to show a seconds timer and it works great.

    I would like to use to to display the distance in inches from my ulltrasonic distance sensor. The sensor returns inches as a 4 byte int data field. How do I redefine/split the int data into four byte fields to send to the serial display.

    In COBOL

    01 inches-distance. 04 display1. Pic 9. 04 display2. Pic 9. 04. Display3. Pic 9. 04. Display4. Pic 9.

    Please ignore the stray periods- my iPad just stuck them in there

    Thanks Bruce

    • I can’t help you in COBOL, but in C / Arduino you would use one of the standard functions to turn the number into characters. Off the top of my head, you could use itoa (integer to ASCII) or sprintf (print a formatted value to a string). Here’s an example of using sprintf, which has the handy feature of being able to right-justify the result using leading zeroes or spaces (which is perfect for this display):

      int value = 1234;
      char string[4];
      sprintf(string,"%04d",value); // print the decimal (d) value into string,
                                    // with a width of four characters and leading zeroes
      Serial.print(string);         // prints "1234"
      
  • To give people a head start with the SPI — this displays “1234”

    Most important part is to turn down the SPI clock.

    #include SPI.h //put brackets around here as usual!
    
    const int slaveSelectPin = 10;
    
    void setup() {
        pinMode (slaveSelectPin, OUTPUT);
        SPI.begin();
        SPI.setBitOrder(MSBFIRST);
        SPI.setDataMode(SPI_MODE0);
        SPI.setClockDivider(SPI_CLOCK_DIV128);
    }
    
    void loop() {
        digitalWrite(slaveSelectPin,LOW);
        SPI.transfer(1);
        SPI.transfer(2);
        SPI.transfer(3);
        SPI.transfer(4);
        digitalWrite(slaveSelectPin,HIGH);
    }
    
  • Is there a recommended bezel or method for mounting this in a panel?

  • Just finish a library for this display: https://www.dropbox.com/s/ssvydwuf3js3cb5/Serial7.zip It has a lot of features and works great on the Arduino UNO. Also supports the ATtiny45 & ATtiny85 (except floating point math).

    • The file doesn’t seem to be located at the link mentioned in this post. Does it still exist? I’d love to use your code if you’re willing to share. If not, I’ll try writing my own library. Thanks!

    • Great job Austin! Thank you.

  • Having issues with the last digit being almost unlit. Sending a command such as “x603” with the second decimal on, makes the 3 be about 30% as bright as the 6, while the decimal is blinding. When I get home, I will try a “603x” command with no decimals and see how it compares. May have to just make my own (living 3 blocks from Mouser, that’s easier done than said)…and incorporate current limiting resistors on it.

  • I have been using a set of these and I am currently building a board and I want to build this onto the board. how would I load the source code to the atmeaga? is it the same as flashing a bootloader?

  • please be giving us mounting holes…please be giving us mounting holes….crosses fingers

    • Sparkfun - Can you at least give us a thru hole connection in each corner of the board where I can solder a single pin? This would at least allow me to rig up standoffs using 1-pin headers.

  • This may be a daft question, but how are these boards powering the leds without current limiting resistors? Does the ATMega not supply enough current to worry, or is PWM limiting enough?

    • My best guess is according to the schematic, VCC has a 10K resistor on it. So I think they’re limiting the current to the whole package.

      • That 10k is pulling the reset line up, not limiting current to the package. I can only assume it’s PWM with a low enough duty cycle. The reason I ask is that I was considering building a similar ‘backpack’ with a couple of extra things on board, using the same ATMega to drive the display as run my own program, instead of having two 328’s doing what one should be capable of. I think that by using a 1/7 duty cycle, I can protect all segments with only 4 resistors. I will probably go this route since I can’t find anything outlining how to ‘safely’ power leds from 5v with no resistor (only pwm).

        • Nathan explains the methodology in the arduino source for the bare 7-segment display. http://www.sparkfun.com/products/9483

  • Do I have to send the ASCII hex, or can I just simply send the actual number/word over serial? Thanks.

  • Sparkfun:

    The manual gives instructions for addressing specific LED segments (A-G), but does not explain where those segments are. I was able to figure this out, but for a beginner, the product documentation should be as complete as possible.

  • Sparkfun:

    The manual gives instructions for addressing specific LED segments (A-G), but does not explain where those segments are. I was able to figure this out, but for a beginner, the product documentation should be as complete as possible.

  • I was trying to figure out the best way to interface with the display through the serial port. A great page that explains this is available at: http://www.arunet.co.uk/tkboyd/ec/ec1led4x7ser.htm

  • Is the plastic supposed to peel off the display? Mine is starting to come off at the corners, but I’m not sure if it’s just protective or actually functional :)

  • It’s a shame that this thing doesn’t have mounting holes. It would also be nice if the RX, VCC, and GND pins were adjacent to each other, rather than on the opposite side of the board. It would make it cleaner to wire up for those not using SPI.
    This display could make a nice arduino clone is they brought out TX and a couple other pins. It would also be nice if it had a crystal.
    This display does seem to work well so far. It’s bigger and easier to read than I expected. It’s going in a racecar as a GPS speedo and lap timer, so we’ll see how it holds up to heat.

  • Great little device. I will be using these when ever the application calls for 7 segment displays. I was concerned about some of the poor ratings on this product, but decided to try it any way. I was able to get the product to work both on Serial and SPI. The project I was working was time sensitive, so I decided to use SPI because it took less time to send the data to the diplay. I started to see some of the problems that others were complaining about after I turned off some of the debugging lines of my application. After systematically enabling parts of my debugging routine I found that my Slave Select (CSN) pin was not turning off quickly because it was picking up crosstalk from ungrounded wires leading out to the display. Once I properly grounded my wires the display works great. No dings to the others that gave poor reviews but it is working great for me. As for the stand-off mounts, I’d like to have them so I’ll have to wait until revison 3.

  • I assume this thing can be reflashed? I’m interested in making this the brain of a project, not just the display…

    • I don’t have the display to try it, but I would assume so. The SPI bus pins should allow you to reprogram it using an ISP programmer. The pins you need are the 6 on the right (when looking at the bottom of the board). Note that the silkscreen reads “SI” and “SO” for the MOSI and MISO pins.

  • I brought two of these with a very specific project in mind and they were perfect for the job.<br />
    <br />
    I built an 8 digit countdown timer into a hard hat for a Stag night. Made the project very easy to implement.<br />
    <br />
    Advice, make sure you don’t leave the unused input pins floating.<br />
    <br />
    Details of my project: http://www.john.geek.nz/2010/11/stag-hat-with-a-difference

  • I brought two of these with a very specific project in mind and they were perfect for the job.<br />
    <br />
    I built an 8 digit countdown timer into a hard hat for a Stag night. Made the project very easy to implement.<br />
    <br />
    Advice, make sure you don’t leave the unused input pins floating.<br />
    <br />
    Details of my project: http://www.john.geek.nz/2010/11/stag-hat-with-a-difference<br />
    <br />
    <br />
    <br />

  • The original datasheet says the SPI interface would run at 2MHz whereas it will only do 250KHz at best - and even then it won’t ever be 100% reliable. The firmware is absolutely shocking, and (amongst other problems) the SPI ISR overruns. See http://bleaklow.com/2010/08/28/sparkfun_are_less_than_electrifying.html for the sorry details. My advice - avoid this product.

  • The manual says it using an ATMega168 while the description above says ATMega328. My guess is the manual is out of date and needs to be updated.
    Just a quibble and if it’s fixed, you can delete this comment.

  • salsa: That’s a lot of board for $9! But, why no standoff mounts?
    I think that’s a big problem with a lot of the in-house developed stuff at SFE. Absolutely great products, but no practical way to mount them other than hanging things off the pins :(

    • Don’t overlook the usefulness of double-side foam tape. Very secure mounting for smaller boards, and it is still possible to pry the board off if needed for maintenance.

      • Double-sided tape is destroyed when pried off, and does not compare to good old-fashioned standoffs and screws.

    • You know, we would love to add stand off holes to everything. But allot of times it is simply size restrictions that hold us back. Think about all of the extra wasted space that you would need to add stand off holes to this board. I agree we need to have mounting options for as many products as possible. But when we are trying to build stuff to be compact, sometimes the mounting holes have to take a back seat.

      • “Think about all of the extra wasted space that you would need to add stand off holes to this board."
        But with no mounting holes, 100% of the space is wasted for me…:( I have a hard time understanding how the compact size of this board is a plus for anyone. Please, make a board like this with standoff mounts!

      • “Think about all of the extra wasted space that you would need to add stand off holes to this board.”

        I realize this is a very old post, but it’s not wasted space if its required to for the board to be useful.

        You could also save a lot of ‘space’ by removing the 7-segment displays. Why don’t you remove those? Because they’re needed for the module to be useful. The same thing is true for a mounting method. (its needed for this module to be useful beyond prototyping.)

        This isn’t some module that you can just hot glue to the side of a project box and be done. This module needs to be mounted in a way that is visible from outside the box and also flush with the box edge. This is very difficult to do when the current module.

        You mention “we are trying to build stuff to be compact.” Who is demanding these products be compact? I don’t see a single person asking for a smaller board. Yet I see many asking for mounting options.

        • Actually, we get a LOT of people asking for smaller designs. We also get a lot of people asking for mounting holes.

          And as I said above, almost all of our new breakouts have mounting holes now.

          • Thanks for the quick reply.

            I probably should have started my comment a little more positive. I really like this board, which is why I was so frustrated when trying to mount it. (If I didn’t like it, I would just use something else).

            And yes, you folks are doing an awesome job of adding mounting holes onto your newer boards. I can deal without mounting holes for the vast majority of boards. It just these ‘external facing’ boards where the lack of mounting holes can be frustrating.

            And sorry to assume a lack of demand for compact size, I was just looking at comments. I’m sure you get a large volume of email requests in addition to these.

      • Well you do need to strike a balance between size and function, these modules are great, but I wouldn’t be tempted (as a SparkFun industrial customer) to put something like this in one of my mass produced products. Just because it’s small, doesn’t mean it’s useful. It’s kept me from using SFE parts in quite a few things. Take for example these Linux SBC’s (https://specialcomp.com/calao/tny/index.htm) and they managed to get mounting holes on those boards. Function and utility :) Just my opinion, keep it in mind for future products.

        • I agree. Standoff mounts would be very nice to have on this module. I can’t think of any applications that wouldn’t involve mounting this to something.

  • That’s a lot of board for $9! But, why no standoff mounts?


Related Products