Introduction: 7 Segment Display Array

I've build an led display made out of 144 7 segment displays controlled by an arduino nano. The segments are controlled by 18 MAX7219 ic's which can control up to 64 individual leds or 8 7 segment displays. The array has 144 displays made each up of 8 individual leds so the array has an total off 1152 leds you can control.

Step 1: Get Your Components

1 x Arduino Nano

1 x PCB

144 x Common Cathode 7 segment 1 digit displays

18 x MAX7219

18 x 10uf Capacitor (0603)

18 x 100nf Capacitor (0603)

19 x 12k Resistor (0603)

1 x Female Micro usb

42 x Female header

1 x Tiny RTC (optional)

1 x 2A Powersupply

Step 2: Order Your PCB

Here you can download the Gerber files for the PCB of the display. Upload them through https://jlcpcb.com/quote#/ or a different manufacturer to order them.

Step 3: Solder the Components

Solder all the components on to the PCB as shown in the schematics. If u have little or no experience in SMD soldering I suggest u watch this tutorial on SMD soldering first.

If u are going to use the display as a clock solder the headers of the Tiny RTC on de side of the battery.

Step 4: Display As a Clock

When you finished soldering all the components download the code and upload it to the arduino before putting it into the display. If u want to display something custom have a look at Step 5.

Step 5: Make Custom Code

If u want to show something custom you need to code it by by hand. In the example code different segements aka pixels are shown in bytes with each bit one segment: 0bDP-A-B-C-D-E-F-G e.g. 0b01011011 will show a 5.

The example code has 3 different ways to show pixels. The first way is to use the putPixel(x, y, byte); function to replace one pixel of the display at the location x, y (0, 0 is top left 5, 23 is bottom right).

The second way is to use the addPixel(x, y, byte); function it works almost the same as the putPixel() function but instead of replacing the pixel it adds the pixel to the original one.

The last way is to use the fillPixel(x1, y1, x2, y2, byte); funtion to fill a rectangle from x1,y1 to x2,y2 with the same pixels.

Step 6: You're Done!

Congratulations you're done! Now you can program the display the way you like it. And if u made the display dont forget to share it :)

Lighting Challenge

Participated in the
Lighting Challenge