Creative Commons images are CC BY-NC-SA 3.0


added to your
shopping cart

33 available 33 in stock
16.95 1+ units
15.26 10+ units
13.56 100+ units

Description: OpenSegment makes it easy to add a large 7-segment display to your project. Because larger 7-segment displays pull more power than a microcontroller is able to drive directly, the OpenSegment has 8 PNP and 4 NPN transistors in order to drive the segments at their maximum brightness!

The on-board ATmega328 receives data over multiple digital interfaces (such as TWI, UART and SPI) and does all the PWM and upkeep of the display so your main controller doesn't have to. There are even two built-in functions that can be activated with solder jumpers. The counter function simply counts up or down, incrementing when you pull down SDO and decrementing when you pull down SDI. The meter function gives you a voltage read-out of the ADC!

OpenSegment runs at 5V and uses a standard FTDI connection for programming. The board is pre-flashed with a bootloader compatible with the Arduino Pro Mini @ 8MHz setting under the Arduino IDE. This firmware is an updated version of the Serial 7-Segment firmware designed to run on both devices. The commands will be largely the same except, of course, that this display only has decimals and no colon. See the datasheet for the Serial 7-Segment below to get an idea of the serial command set.


  • On-board Transistors Allow Display to Run at Full Brightness
  • Serial Commands Available to Adjust Brightness, Baud Rate, and I2C Address
  • Individual Control for Digits and Decimal Points
  • Arduino Compatible with FTDI Header
  • Built-in Meter and Counter functions


Comments 30 comments

  • Would it be possible to configure one of the outputs on the board to go logic high (or low) once a specified count is reached? I’d like to configure this to drive transistor interface to a buzzer or beeper to tell me that I have reached a specified count. I’d like to use it for a coil winder project I am building.

    • Cool idea and very possible. You’d have to modify the code on the unit, but that’s fairly straight forward if you’re familiar with Arduino and using an FTDI.

      SDI and SDO are the counter pins, so you wouldn’t really want to use them as the high/low output. I would recommend the *SS pin (digital pin 10 in Arduino).

      You’d either need to hard-code the specified max to trigger on (97 for example) or you’d need to add some functionality so that the user could add it. None of this is tricky, just requires some custom coding.

      Good luck! Let us know how your project goes.

  • Is it possible to order a batch of these without the display soldered in? I want to be able to swap out multiple colors without risking amaging the board during desoldering.


  • I’m trying to download the example that comes with the sevseg github project, it basically counts up from 0. But, I can’t get the sketch in to my open segment. I have Arduino Pro/Mini @ 8mhz 328 selected, when I upload, the board turns off and on but then displays a -0-9 and I see this on the Arduino IDE

    avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00

    avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0 avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x00 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.

    avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xe0

    Any ideas whats wrong? I’m using IDE 1.0.5 with the 5V FTDI breakout on USB using port /dev/cu.usbserial.

    • Getting the same thing here. I’ve tried selecting both the Arduino Pro Mini 8mhz board, as well as the “Serial 7-Segment Display” board. I’ve tried both 5v and 3.3v FTDI (since the Pro Mini at 8Mhz is actually a 3.3v board). Didn’t seem to make any difference. Would love to hear if you find a solution.

      • Still stuck, does anyone monitor these comments?

        • Sorry we missed this! We do try to keep track of all the comments, but sometimes a few slip through. Email techsupport@sparkfun and they should be able to help you with the issue you’re seeing.

          • Your after sales sent me a new board that was promised to have the correct firmware on it. It is behaving differently. Right now, it just turns off and on and then displays 1234. The error message is:

            avrdude: stk500_getsync(): not in sync: resp=0x00

            • That likely means that you are attempting to program it with the wrong board selected in the IDE. That’s usually the error that pops up in that case.

        • Sorry we didn’t catch this until now. We just found out that we have been actually programming these with the “LilyPad Arduino w/ATMega328” bootloader. Somehow our production files were mixed up, and this wasn’t caught during testing because we use a combined hex file that includes both the bootloader and the firmware. We are currently working on changing our production files, but for now, if you want to upload a new sketch to your board, please select “LilyPad Arduino w/ATMega328” as your board option in the Arduino IDE. Again, sorry for this confusion and please let us know if you run into any other problems. All of our future boards will ship out with the correct “Arduino Pro Mini 8MHz” bootloader.

          • I have a replaced board and this still doesn’t work. I’ve tried 3.3V and 5V and it makes no difference.

            avrdude: stk500_getsync(): not in sync: resp=0x00

            This is different than last times errors, see above. Has anyone managed to reprogram one of these things as advertised? Frustrated…

          • Still doesn’t work. Same problem.

            Binary sketch size: 4,700 bytes (of a 30,720 byte maximum)

            avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00

            avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xe0 avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x00 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.

            avrdude: stk500_disable(): protocol error, expect=0x14, resp=0xe0

            • Not sure why you are still running into issues. We sent out a freshly programmed and tested unit for your replacement. It passed all tests and programming here. We’ll keep working with you over email to figure this out and get you up and running!

          • Ah ah! Very good. As it turns out, I was unable to flash using the Arduino 1.0.5 IDE under OSX, however the latest 1.0.5 release for Windows appears to have flashed these with the “Serial 7-Segment Display” board selected. I will try the Lilypad board under OSX next.

  • Has anyone measured the i2c bus capacitance on these devices? I’m trying to get a series of 8 of these working on a 40ft bus and I need to calculate the pullup resistor values, if it’s even possible.

  • Can I use my open segment serial display to display my 12v battery power? I am a novice and although it says you can plug it into a 12v power source, I am wary.

    I just want it to display voltage i.e. 12.1, 11.5, whatever. I really like the display on this item, I would like to use it for power display. Any suggestions?


    • You can power the display with 12V but the display is setup to read from 0 to 5V (the voltage that the microcontroller runs at).

      You could create a voltage divider to divide the 12V down to 5V max (R1 = 1700 ohm, R2 = 1200 ohm). You’d need to reprogram the microcontroller to ‘know’ the ratio and display 12V when it sees 5V. It’s a good project to learn a little about dividers and microcontrollers!

  • Call me crazy, but shouldn’t these have the colon and apostrophe? Just got a blue and all I see are the decimals for digit 0,1,2,3. I don’t see the colon that would normally be between digit 1 and 2. and I don’t see the apostrophe between digit 2 and 3. the docs mention apostrophe and colon control (colon control sounds funny). but, I don’t see the LED’s on the display. A pic of my display is here:

    I am not so worried about it for the project that I am working on since I am just using this to display a number. but, if I wanted it for a clock, the colon would be handy.

    • Sorry! We didn’t mean to be misleading. The product photos are always up to date but the datasheet could use some finer explanation. I started an issue. We’ll get it fixed soon.

    • nope - no colon, apostrophe, alarm or am/pm indicators on these - just a simple 4-digit display. The 7-Segment Serial Display - Blue does offer them.

      • good to know. I like the size of this display. but, if I do a clock, I think I will have to go for the 7-segment. so far, this display is pretty nice (even without colon, apostrophe, alarm, etc) will be a great counter for climate monitors on kegerators, etc.

  • I am looking for a way to display voltage on my R2-D2. Will this work? *I am still learning.

    • You could certainly use this as a display in a project like that. However, you’ll want to look into what other components you are using in your system, and make a judgement call based on that as to whether this is the best screen for you.

  • Same issue with the blue board as I had with the red. Counter jumper doesn’t seem to work. But once mode changed via a program (see link on red or white board descriptions) it seems to work fine.

    • Sorry you ran into troubles! We had an firmware bug with the first batch of displays that failed to check the solder jumpers. Looks like you fixed it yourself. Thank you. If you have any more issues please don’t hesitate to say hello.

  • I don’t see a mechanical drawing here. What is the character height? What are the XY co-ordinates of the electrical connections and mounting holes? What are the dims of the outline PCB and LED body?

    • We’ll get it fully linked on Monday but I just pushed an image with the dimensions here. We’ll also try to get a 3D model created.

  • Perfect timing! I’ve been using the smaller version of these, loaded with some custom firmware, as airsoft spawn timers. They work great, but the displays needed to be a little bigger. I’ve just been asked to build two more timers, I’ll be using these displays.


    • Hah! That’s a pretty cool application. These are easy to re-program using an FTDI connection. Let us know how your project goes!

Related Products