will be read-only starting December 31st, 2018. For more info pleae look at this Forum Post

SevenSegment Library for Arduino
Author:  Alexander Brevig


Current version

1.2 2009-04-13: Ready for ShiftRegisters


1.2 2009-04-13: Ready for ShiftRegisters
1.1 2009-03-16: Uses binary logic to represent states, not ints. [uses 14 x less ram].
1.0 2009-03-13: Initial Release


SevenSegment is a library for the Arduino.

It is created to help Hardware Abstraction, and readability of code. It hides the pinMode, and digitalRead calls for the user.

SevenSegment library is part of the Hardware Abstraction libraries.

Download, install and import

Download here:

Put the SevenSegment folder in "hardware\libraries\".
In the Arduino IDE, create a new sketch (or open one) and select from the menubar "Sketch->Import Library>SevenSegment".
Once the library is imported, an '#include<SevenSegment.h>' line will appear at the top of your Sketch.


SevenSegment() //default 2,3,4,5,6,7,8 SevenSegment(byte userPins[])

byte pins[] = {6,7,8,9,10,11,12}; SevenSegment sevenSegment = SevenSegment(pins);

Instanciates a SevenSegment object connected to digital pins 6,7,8,9,10,11 and 12.


void buffer(byte number)

Prepare a byte to be shifted

void print()

Shift out the buffered byte

void print(byte number)

Shift out the number

void attachShiftRegister( ShiftRegister595& userShiftRegister )

Connect a ShiftRegister to the SevenSegment.


  1. /*
  2. ||
  3. || @author Alexander Brevig
  4. || @version 1.0
  5. ||
  6. || @description
  7. || Demonstrates the functionality of the SevenSegment class and ShiftRegister595 class
  8. ||
  9. */
  11. #include <ShiftRegister595.h>
  12. #include <SevenSegment.h>
  14. ShiftRegister595 shiftRegister = ShiftRegister595(10,11,12);
  15. SevenSegment sevenSegment = SevenSegment(shiftRegister);
  17. void setup(){ /*nothing*/ }
  19. void loop(){
  20.   for (byte i=0;i<=9;i++){
  21.     sevenSegment.print(i);// prints selected values from 0 to 9
  22.     delay(1000);
  23.   }
  24. }


How can I use multiple SevenSegment displays?

SevenSegment is a class. Therefore to SevenSegment multiple digital pins, you must create an instance for each of them.

Say you have sevenSegment and sevenSegment2 it's just to call whatever function is wanted on target SevenSegment object

//check sevenSegment

Information about this page

Part of AlphaBeta Libraries.
Last Modified: May 09, 2009, at 05:12 AM
By: AlphaBeta