7-Segment Serial Display - Red

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

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!

  • 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

Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Grumpy_Mike / about 12 years ago / 2

    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?

    • liudr / about 12 years ago / 1

      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.

  • HuStone / about 12 years ago / 1

    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

    • MikeGrusin / about 12 years ago * / 1

      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"
      

  • JamesCarruthers / about 12 years ago * / 1

    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);
    }
    

  • Member #103796 / about 12 years ago / 1

    Is there a recommended bezel or method for mounting this in a panel?

  • AustinSaintAubin / about 12 years ago / 1

    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).

    • casestudies / about 12 years ago / 2

      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!

    • Member #27746 / about 12 years ago / 1

      Great job Austin! Thank you.

  • magnethead / about 12 years ago / 1

    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.

  • Berge472 / about 12 years ago / 1

    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?

  • magnethead / about 12 years ago / 1

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

    • azrobbo / about 12 years ago * / 1

      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.

  • MikeR / about 12 years ago / 1

    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?

    • magnethead / about 12 years ago / 1

      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.

      • MikeR / about 12 years ago / 1

        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).

        • MikeR / about 12 years ago / 1

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

  • magnethead / about 12 years ago / 1

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

  • CalMariner / about 12 years ago / 1

    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.

  • CalMariner / about 12 years ago / 1

    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.

  • jmitchiner / about 13 years ago / 1

    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

  • JustinHoMi / about 13 years ago / 1

    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 :)

    • JasonWMcB / about 13 years ago / 1

      I peeled mine off, they seem to be working just fine.

  • JustinHoMi / about 13 years ago / 1

    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.

  • JasonWMcB / about 13 years ago / 1

    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.

  • jstanley0 / about 13 years ago / 1

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

    • rfordh / about 13 years ago / 1

      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.

  • KiwiJohn / about 13 years ago / 1

    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

  • KiwiJohn / about 13 years ago / 1

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

  • Alan Burlison / about 14 years ago / 1

    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.

  • RoboKaren / about 14 years ago / 1

    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.

    • Pearce / about 14 years ago / 1

      That is correct, we will update the datasheet. Thanks for the heads up.

  • Shifted / about 14 years ago / 1

    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 :(

    • MilesTag / about 14 years ago / 1

      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.

      • salsa / about 14 years ago / 1

        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.

      • salsa / about 14 years ago / 3

        "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!

        • Noted. We are trying to do mounting holes on more of our boards.

          • magnethead / about 12 years ago / 1

            well, you're out of stock now, it'd be a great time for mounting holes...just saying.

      • azrobbo / about 12 years ago * / 1

        "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.

          • azrobbo / about 12 years ago / 1

            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.

      • Shifted / about 14 years ago / 1

        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.

        • Sacko / about 14 years ago / 1

          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.

  • salsa / about 14 years ago / 1

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

Customer Reviews

No reviews yet.