Tag Archives: 7-segment

8 Digit Numerical 7 Segment SPI Display Shield for Arduino UNO

8 Digit serial numerical display shield for Arduino has been designed for various applications like digital clock, stop watch, score display, temperature meter, frequency counter, digital meters etc. The circuit uses popular MAX7219 IC and two common cathode 0.5inch red seven segment displays. The MAX7219 is a compact, serial input/output common-cathode display drivers that interface Arduino UNO to 7-segment numeric LED displays of up to 8 digits. Included on-chip are a BCD code-B decoder, multiplex scan circuitry, segment and digit drivers, and an 8×8 static RAM that stores each digit. Only one external resistor R1 provided to set the segment current for all LEDs. A convenient 3-wire serial interface connects to all Arduino UNO. Individual digits may be addressed and updated without rewriting the entire display. The MAX7219 also allows the user to select code-B decoding or no-decode for each digit. The devices include a 150µA low-power shutdown mode, analog and digital brightness control, a scan-limit register that allows the user to display from 1 to 8 digits, and a test mode that forces all LEDs on. The project works with 5V DC and SPI interface connected to Arduino Digital pins D4, D5 and D6.

8 Digit Numerical 7 Segment SPI Display Shield for Arduino UNO – [Link]

4 Digit 7 Segment Display Shield For Arduino Nano

4 Digit Multiplexed display shield for Arduino Nano with on board 2 tactile switches and LM35 temperature sensor. This shield helps you to develop many projects that require 4 digit display. For example a thermometer can be made using on board LM35 sensor.  7 Seven segment multiplexed display is a tiny board and has been designed around Common cathode 4 digit Display. Display has 12 Pins. The board is provided with current limiting resistors on all LED segments and 4 NPN Transistors to drive 4 digits. This tiny board directly seats on Arduino Nano.  Nano analog pin A0 connected to LM35 sensor, A1 and A2 connected to Switch 1 and switch 2 with pull down resistors. Digital pin D2-D8 connected to displays segment A-F, Digital pin D9 connected to DP of display, D10-D12 pins are associated to Digit 1-4 common cathode.


  • Supply 5V DC
  • 4 Digit 0.3 Inch Common Cathode 7 segment display
  • On board 2 Tact switch
  • On Board Female Connector to install LM35 Temperature sensor

4 Digit 7 Segment Display Shield For Arduino Nano – [Link]

Making An Arduino I2C Digital Clock

Using Adafruit’s 0.56″ 7-segment LED backpack and display and the DS1307 RTC (Real Time Clock) board, this tutorial will guide you to make a simple 4-digit clock that uses only 2 Arduino pins.

The 7-Segment Backpack is a combination of the LED display, header pins, and a PCB which need to be soldered together. The PCB contains a driver chip with a built in clock that multiplexes the display and constant-current drivers for ultra-bright consistent color.

This module uses I2C interface, which means it needs just two data pins to control the 4 digits instead of 14 pin, freeing up Arduino pins for other usages.

DS1307 is a battery-backed real time clock (RTC) that allows a microcontroller project to keep track of time even if it is reprogrammed, or if the power is lost. DS1307 breakout board also comes as a kit of parts to be soldered.

Building the digital clock

It is a simple process, connect the part as shown in the image, the red wire connected with 5V, black wire with GND, orange to A4 (SDA – data), yellow to A5 (SCL – clock).

Both RTC and 7-segment modules have an Arduino library, as normal with libraries, unzip the folders into your Arduino ‘libraries’ directory and then restart the Arduino IDE for it to pick them up.

Paste the following sketch into a new Arduino window and upload it to your board. It will set the RTC to the time at which the sketch was compiled and uploaded. So, if your computer picks up its time from the Internet, that will be pretty accurate.

#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"
#include "RTClib.h"


Adafruit_7segment disp = Adafruit_7segment();

void setup()
 if (! RTC.isrunning())
   RTC.adjust(DateTime(__DATE__, __TIME__));

void loop()

int getDecimalTime()
 DateTime now = RTC.now();
 int decimalTime = now.hour() * 100 + now.minute();
 return decimalTime;

The full documentation of the project is reachable here.

2 Digit Digital Up Counter Using PIC16F1825


The Two Digit UP Counter project built using PIC16F1825 Microcontroller from Microchip, CAT4016 serial to display driver IC from ON-Semiconductor and two 7 Segment common anode 0.5 Inch display. Project works using two switches S3 and S2, third switch has no use. When switch S3 is pressed it increments the count on display by one and S2 provides the reset function, This little handy project consumes low current and can be work with 4.5 V battery, intensity of the display can be change by replacing value of R1, read Cat4016 data sheet for more information about current setting. Display range 00 to 99. This project can be used in various applications like product counter, score board, object counter, vehicle counter.


  • Supply 4.5 to 5V DC
  • Range 00 to 99
  • On Board Two Switches for UP count and Reset
  • On Board Power LED and Count Up LED

2 Digit Digital Up Counter Using PIC16F1825 – [Link]

Arduino 8 Digit, 7 Segment BCD Counter using MAX7219


PugazhM @ instructables.com show us how to make a 7 segment BCD counter using MAX7219 and Arduino.

In Embedded system design, seven segment displays are playing a major role as numerical visual indications. Seven segment LED displays are brighter, more attractive and provide a far viewing distance as well as a wider viewing angle as compared to LCD displays. Its available wide dimensions (0.3 inch to 6 inch) and different colors (RED, GREEN, BLUE, ORANGE, WHITE). It can display digits from 0 to 9 and quite a few characters like A, b, C, d, E, e, F, n, o, P, t, u, etc. This intractable is about interfacing 8 digits of 7 segment display by using popular MAX7219 display driver with Arduino Uno.

Arduino 8 Digit, 7 Segment BCD Counter using MAX7219 – [Link]

ESP8266 Desktop Clock – WiFi Synchronised


This project is a wifi synchronised desktop clock using 7-segment displays. The heart of the project is a ESP8266 board.

The ESP8266 is a awesome chip; with integrated WiFi, 80MHz clock speed, total 160kb RAM, 512kb of flash memory, and a ton of other features, it makes a regular Arduino look like a joke. The project shown in this Instructable is based solely on the ESP8266-01 module, unlike several other projects on the web where it is used in tandem with another microcontroller. This makes it great demonstration of the capabilities of the ESP chip.

ESP8266 Desktop Clock – WiFi Synchronised – [Link]

6 Digit Serial Display Driver with CAT4016


6 Digit serial display project has been designed around CAT4016 IC from ON semi. The CAT4016 is a 16 channel constant current driver for LED billboard and other general display applications. LED channel currents are programmed together via an external RSET resistor. Low output voltage operation on the LED channels as low as 0.4 V (for 2 to 100 mA LED current) allows for more power efficient designs.

A high-speed 4-wire serial interface of up to 25 MHz clock frequency controls each individual channel using a shift register and latch configuration. A serial output data pin (SOUT) allows multiple devices to be cascaded and programmed via one serial interface. The device also includes a blanking control pin (BLANK) that can be used to disable all channels independently of the interface.

Thermal shutdown protection is incorporated in the device to disable the LED outputs if the die temperature exceeds a set limit.


  • 6 Digit 1 inch 7Segment Display
  • Supply Input 3V to 5.5V
  • Serial interface up to 25 MHz clock frequency
  • LED current 20mA (Range from 2 mA to 100)
  • LED current set by external RSET resistor
  • 300 mV LED dropout at 30 mA
  • Thermal shutdown protection
  • R1,R2,R3 Current Set Resistors

6 Digit Serial Display Driver with CAT4016 – [Link]

4 Digit Thermometer using DS18B20 and PIC16F628A


moty22.co.uk has a PIC16F628A based thermometer using DS18B20 digital sensor.

Counter based on PIC16F628A . Included C code and circuit diagram. Displays -55 to 125 centigrade. The temperature is read every 15 seconds, can be changed in the code. The math is using integers to calculate the degrees and the tenths of degrees are calculated separately.
The 7 segment LED is common cathode, 4 separate digits can be used with segments a to g linked.

4 Digit Thermometer using DS18B20 and PIC16F628A – [Link]