Neosegment - 7 Segment Display made with Neopixels

Creating a custom 7 segment display that can be driven with Arduino opens up some new possibilities.

Similar projects worth following
The goal of this project is to create a modular component that works the same way as 7 segment display, with a few advantages over conventional 7 segment panels:

- Doesn't need additional components to drive the pixels
- Can change the color of display to any desired color

The build process for this project consists of the following components:

  • Create a 3D printable individual 7 segment display
  • Create schematics and PCB for individual display
  • Create Arduino Library to drive some number of 7 segment displays

Here's the latest update for this project:


Second iteration of the 3D model, this time a lot slimmer and number is not as big

Standard Tesselated Geometry - 1.12 MB - 12/25/2016 at 09:58



Kicad PCB for the 7 segment display

kicad_pcb - 46.30 kB - 12/25/2016 at 09:52



Kicad Schematics file for the 7 segment display

sch - 10.24 kB - 12/25/2016 at 09:52



3D printable 7 segment display for Neopixels

Standard Tesselated Geometry - 1.54 MB - 12/04/2016 at 00:46


  • 7 × WS2812B LED
  • 7 × 0.1uf 0405 SMD Capacitor
  • 3 × Pin

  • First test of complete 7 Segment display

    Maksim Surguy12/25/2016 at 10:42 0 comments

    I had a preprogrammed NodeMCU (ESP8266) chip laying around with a FastLED library and test patterns already there.

    At this point, connecting Pin 2 to the Data Input of my PCB and connecting power pins should work unless I fry something.

    Here's what happened after I connected everything together:

    And then I was able to take a video of the display in its full glory, still running test patterns:

    It works in a beautiful way that is hard to describe or convey even with video, I think you have to see it in person to get the full effect.

    Next steps: optimizing the 3D model and PCB, making this modular and making 2 or 3 different sizes of the display!

  • Soldering components

    Maksim Surguy12/25/2016 at 10:31 0 comments

    After the circuit board was designed, printed on photo paper, transferred onto copper and etched, it was a quick process to solder 7 LEDs onto it. Soldering took about 15 minutes start to finish and I imagine this could be done much faster if you can use a reflow oven instead of hand soldering each component.

    I was impatient and soldered only 4 capacitors instead of 7 because I knew that this first prototype won't be chained together with other displays.

    Here is how the populated circuit board looks like:

    The lesson learned here was to create bigger pads for the Neopixels which will be taken care of in the next iteration of the PCB design.

    I don't know if I need bypass capacitor on each and every LED or if putting one 10uf cap per 7 Segments would suffice so if you know the answer to that question, please let me know!

  • Designing the schematics and the circuit board

    Maksim Surguy12/25/2016 at 10:20 0 comments

    Now that I have a proof of concept 3D printed model of the display, it is time to design a circuit board for 7 WS2812B LEDs that will light up the numbers on the display.

    This time I decided to use KiCad as an opportunity to learn proper circuit board building and after the schematics design is finished, I will finally put my new laser printer that I got on Cyber Monday to a good use to create a Printed Circuit Board (hint: toner transfer method)!

    The schematics design for this display is very simple and consist of only two kinds of components: WS2812B LEDs and capacitors. Each LED of this type has input and output pin so the series of LEDs need to be put together in a particular way: data output of one LED needs to feed into data input of another LED.

    Here's the design of the schematics in KiCad's EESchema before it was exported to PCBNew:

    In PCBNew, I placed the components at distances that correspond to my 3D printed model, then ran Freerouter to create a layout with minimum traces and no through hole connections. I then had to manually adjust a few pads and placements in order to use space efficiently. After about 3 tries of printing the circuit board and etching it (picture below), I was able to make one that worked.

    I've attached the circuit board schematics and the PCB design in Files section of this project.

View all 3 project logs

  • 1
    Step 1

    Print the 3D model

  • 2
    Step 2

    Create PCB

  • 3
    Step 3

    Solder 7 LEDs and 7 capacitors

View all 4 instructions

Enjoy this project?



peter hartmann wrote 06/23/2019 at 17:52 point

Hey, nice work!  Have you seen my library?  You can pull it in through the library manager in the Arduino IDE.

  Are you sure? yes | no

Xasin wrote 12/17/2018 at 08:33 point

This is looking really nice!
I like the idea of a compact 7-Segment display with a small PCB backside to hold everything together.

I have a small recommendation though: With the latest Prusa Slic3r version and a few small tweaks, I've had great success with "manual" multi material printing. That could look quite good for your project, if a diffusion layer is built in to the segment casing itself :D 

Oh yeah, also, I hope your library can drive segments with two WS2812 per "dash", then people could use your code and my giant digit pieces >:D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates