Introduction: The NeoBoard

The NeoBoard is a 16x16 pixel board that displays various animations and images. This project was inspired by the other similar pixel-board style displays, such as the PixelBrite and the Game Frame.

Step 1: Specs, Materials, and Tools

Picture of Specs, Materials, and Tools


Below you will find a brief overview of the project materials and tools. More details concerning tools, materials, costs, and design can be found in the appropriate step.

Specs of Pixel Board:

  • Resolution: 16x16
  • Size: 305mm x 305mm x 60mm
  • Weight: <5lbs


  • Arduino Pro Mini
  • 256 RGB LEDs
  • SD Card Reader Module
  • Cardboard
  • Foam Board
  • Acrylic Board
  • 1"x3"x8' Board
  • Glue (Wood + Hot Glue)
  • Power Switch (Optional)
  • Potentiometer (Optional)

  • Breadboard

  • SD Card (Cannot be High Capacity)


  • Laser Cutter
  • Soldering Iron
  • Wire Cutter
  • Wire Stripper
  • Hot Glue Gun
  • Miter Saw
  • Table Saw
  • Trim Gun
  • Drill

Step 2: Cost of Build

    These are the approximate costs for the materials. If you do not have access to certain tools (such as a laser cutter), your costs may be higher.

    • Arduino Pro Mini = $10
    • 256 RBG LEDs (60/strip x 5 strips @ $8/strip) = $40
    • SD Card Reader Module Slot Socket for Arduino = $3
    • Cardboard = Free
    • Foam Board (Optional) = $2
    • Acrylic Board = $5
    • 1"x3"x8' = $5
    • Glue = $5
    • Power Switch (Optional) = $2
    • Potentiometer (Optional) = $2

    Total = <$71

    Many of these materials (such as the glue, foam board, etc), I overestimated on. I built my NeoBoard for less than $50, using salvaged parts and having people donate to my project.

    Step 3: Constructing the Grid

    Picture of Constructing the Grid


    The purpose of the grid is to separate the individual LEDs from one another, creating a crisp, modular, look to the NeoBoard. If you choose not to use the grid then the light from the LEDs will "blend" together, which also looks pretty cool. This step, including cutting and weaving, should take less than thirty minutes.

    Materials, Tools, and Design

    You can use any material that you want (I used an old pizza box), but the files that I have included accounts for a 1mm thick material. You will need approximately two square feet of material to produce the 30 walls that make the 16x16 grid. I designed my schematic in Inkscape and I used a laser cutter to cut my pizza box cardboard. Notice that the NeoBoardGrid.svg only has one wall in it. The file should be adjusted to accommodate the maximum number of walls (up to 30) that you can print at one time.


    After the 30 walls have been cut in your laser cutter, you will then need to "weave" them together. The material will flex a lot, so be careful not to bend or crush the grid as you weave them together.

    Step 4: Screen Design and Construction

    Picture of Screen Design and Construction


    The screen is the heart to the NeoBoard because it will be the medium that will display your image or animation. The screen is composed of 16 rows of 16 individual RGB LEDs. The adhesive strips of LEDs that I used were spaced at a rate of 60/m. When constructing the screen, each LED has to be equal distance from one another so that each will have their own cell in the grid. For my strips, this was 16.6mm from each other.The time to complete the LED screen is about 1.5hrs.

    Materials and Tools

    • 256 RGB LEDs
    • Wire
    • Solder
    • Foam Board
    • Soldering Iron
    • Wire Stripper
    • Wire Cutter
    • Hot Glue Gun (Optional)


    1. Cut sixteen strips of LEDs, each strip having 16 LEDs apiece.
    2. Cut your piece of foam board to 280x280mm (I used a laser cutter). This will be where the LEDs are placed.
    3. Cut 15 sections of wire about 1.5" long, with each piece of wire containing three individual wires (for your GND, 5V, and DATA). This will be used to connect each row of LEDs to one another.


    1. Place the first strip of LEDs at the top of your foam board, making sure that the data flow (the little arrows on the LED strips) is moving left to right.
    2. Place your second strip below the first with the data flow arrows are moving right to left (opposite of the first). You should place this strip far enough away from the first to allow each of the LEDs to fall into their own cell when the grid is placed over it.
    3. Continue this process until all the strips are placed on the foam board. Remember to "snake" the strips. No two adjacent strips should have the data arrows flowing in the same direction.
    4. Solder each strip to one another, following the same snaking pattern. This should effectively make one long strip. See the image for more details.

    Step 5: Building the Frame

    Picture of Building the Frame


    The frame houses all of your components, securely holds an acrylic window, and provides the NeoBoard with a clean look.

    Materials, Tools, and Design

    • Wood (1"x3"x8')
    • Acrylic (4mm thick)
    • Miter Saw
    • Table Saw
    • Laser Cutter
    • Drill
    • Wood Glue
    • Nail Gun
    • Paper


    1. Using the wood, cut four boards that measure 305mm in length with 45 degree angles at each ends.
    2. Using the table saw, cut a 5mm groove into the board. Make sure not to cut too close to the edge, as this might split the board (Cut further than 10mm from the edge to be safe). This groove is where the acrylic window will sit.
    3. Use a laser cutter to cut an acrylic sheet into a 285mm square.
    4. Glue three pieces of the wood together, joining them together at the ends to create a "U" shape.
    5. Slide the acrylic window into the "U" shape and place the final piece of wood. This should permanently seal the piece of acrylic, so make sure everything lines up correctly!
    6. Use a nail gun with shorter trim nails (I used 3/4" trim nails) to the pieces of wood together.
    7. If you plan on adding buttons, drill holes in the appropriate areas. I drilled two holes, one for a power switch and another for a potentiometer.
    8. Finish the frame by cutting a 278mm square with paper using scissors or the laser cutter. This paper screen will be placed between the acrylic window and the grid, helping to disperse the light.

    Step 6: The Code and Wiring

    Picture of The Code and Wiring


    The code was developed using Processing and Arduino. To convert your own image or animation from a regular picture (or string of pictures), you need to first convert the image into a language that the Arduino can read from our SD card. After that, it is simply drag and drop to the SD card and the Arduino will do the rest!

    Wiring the NeoBoard, SD Module, Arduino, and everything else together is fairly straightforward. Included in the pictures you will find a pinout for the Arduino to SD Module.

    Materials and Preparation

    • Arduino
    • SD Card Reader Module
    • Breadboard
    • SD Card
    • Wires
    • Power Switch (Optional)
    • Potentiometer (Optional)

    Wiring the NeoBoard

    1. Using your Arduino, Breadboard, and SD Card Module, follow the pinout provided in the images.
    2. Connect your LEDs to the Arduino (5V, GND, PIN 6).
    3. The NeoBoard is ready to use.
    4. I added an external power input, capacitor, power switch, and potentiometer to my NeoBoard. This explains why I used two breadboards and had a plethora of wires.

    Using Processing

    The code for the NeoBoard is fairly simple. The Arduino reads text files from the SD card and displays them on through the LEDs.

    1. To convert your images (from .jpg, .bmp, etc) follow the instructions that are found in the Processing code.
    2. After you have converted your images into .txt files, you will need to load them onto your SD card.
    3. Once the SD card is loaded with the .txt files and the Arduino is loaded with its code.
    4. Plug and play.

    Step 7: Testing and Sample Images

    I have included some sample images. Just download the files and put them on your SD card! Enjoy!


    eduardo989 (author)2017-06-10

    Hey man can it be made with the led strips that are 12v,r,g,b (the ones that have 4 cables)?

    pijou made it! (author)2016-12-09

    I finally made it - even tough frame & grid are not perfect... but it's working!

    I had to use a 5v10A power supply (tried with 5A and it was not working for more than a minute) + wire + and - on both ends of the strip (otherwise even with the 10A it would not work properly for long).

    ethanpnorton (author)pijou2016-12-13

    That looks awesome! I love how the sd card slot can be easily accessed from the side.

    Electrosparkyman (author)2016-10-10

    I have attempted to build this asked on your instructions. I have e an issue that although the arduino reads the files from the card, there is never an output to the strip. I have hooked up everything as it should be, and tested the strip sith the adafruit code, but I still get nothing. I have e commented out the dim code and inserted my own code to set the brightness, but still nothing. what might I be doing wrong?

    RussellB42 made it! (author)2016-07-09

    Hello, I have made one just like this, but I have done the wiring slightly differently and it turns out like this. The lines are all shifted, I was wondering how can I change the processing program to make the image look right?


    RussellB42 (author)RussellB422016-07-09

    This is how it is wired up

    AlexanderS9 (author)2016-04-06

    Glad to help you. Yes, the picture must be 16x16p size.

    JaredG18 (author)2016-04-05

    I am excited that I came across this project. I was working on a similar project and was searching for help and how to add additional storage to my arduino. I have a question about the conversion script that you provided. Is there a size requirement for the original image to be converted? I tried a couple images, but the txt export was all zeros. Thank you for this tutorial and your feedback.

    AlexanderS9 made it! (author)2016-03-28

    Just finished this nice project!

    ethanpnorton (author)AlexanderS92016-03-28

    Awesome! That looks great!

    AlexanderS9 (author)ethanpnorton2016-03-29

    Thanks, Efnnorton!

    I modified the converter program. Now, it automatically scans the folder for all of *.png , *.bmp files and converts them to the desired format . Enjoy!

    ethanpnorton (author)AlexanderS92016-03-30

    Thank you! If you are interested in doing a grid like I did, I friend told me about light diffusers for lighting. This is incase you don't have access to a laser cutter:

    Just a thought!

    joannali001 (author)2016-02-11

    Just wondering do you have any more instructions regarding the external power input, capacitor, power switch etc that you mentioned in Step 4 in Wiring the Neoboard?

    ethanpnorton made it! (author)joannali0012016-02-12

    I don't have the NeoBoard with me, so the following is off of memory. In regard to the actuall hardware, I believe I used a 2mm barrel jack for the external power input (similar to this), a 100uF 25V capacitor, and a your basic power switch from Radio Shack. All of this was placed on the breadboard. I found a picture that might help. Hope this helps!

    joannali001 (author)ethanpnorton2016-02-12

    Thanks for replying!
    How were you powering this before adding the external power source (the 5V)?

    ethanpnorton (author)joannali0012016-02-12

    The only time I used anything other than the 5V10A power supply was during the early stages of the project, mainly for testing the LEDs. I had to alter the code a little to ensure that at no time the LEDs were at full brightness. Even then, at no time could the NeoBoard run like I wanted it to when it was powered via a regular USB cord.

    joannali001 (author)ethanpnorton2016-02-12

    I'm just a little confused, because if it wasn't able to run via USB cord then you would have to buy a 5V 10A power supply in order to run it?

    In addition, I was wondering why you used a potentiometer and capacitor?

    And do you have any suggestions for what kind of SD card module to use, in addition, I'm assuming you're using the 5v/16MHz Arduino Mini Pro (

    Sorry for all the questions, I appreciate you taking the time to answer them though :)

    ethanpnorton (author)joannali0012016-02-13

    Great questions!

    These LEDs draw a lot of power. You could run a matrix of this size via USB cord, but you would have to figure out a way to reduce their need for power dramatically. The tradeoff would be a less vibrant board. In my case, trying to run 256 LEDs off my laptop's USB port usually resulted in color failure then a quick board failure.

    I decided to go with a 5V10A power supply because my professor recommended it to me and this guide helped me understand powering addressable LEDs. Some quick math:

    (256LEDs x ~40mA)/1000 = 10.24Amps

    I figured that the maximum power I would use for each LED at a single time would be around 40mA (with full brightness for a LED being 60mA). Therefore, I would need around a 10A power supply to power my board. After looking online to answer your question, it appears that most USB ports can only put out around 500mA. Solving for mA this time, it looks like the maximum brightness for 256 LEDs running off a USB would be 1.9mA each (or 3% of their maximum brightness if we assume that 60mA is the maximum draw).

    To answer your second question, the use of a potentiometer was purely preference. I wanted the ability to change the brightness of my board with the turn of a knob and not the manipulation of code.

    I used a capacitor to protect the LEDs. Think of energy like a river and a capacitor as a reservoir. When I plug in my board, the energy (water) flows into the capacitor (reservoir) and eventually overflows in as a stream to the LEDs. The result is a steady stream that prevents a "spike" in electrical current when it is first turned on. I don't know if this is an accurate analogy, but it helps me and my non-sciency mind.

    In reference to SD card reader that I used, here it is on amazon. I didn't test any others, I just bought this one because it was cheap.

    Yes, I did use a Arduino Pro Mini, but again because it was cheap. I'm sure you could make any micro-controller work.

    Note: I am a history major, which means I am inherently bad at math. Check behind me :)

    joannali001 (author)ethanpnorton2016-02-15

    Wow! That's super impressive that you made this as a history major, I assumed you had a strong electronics/electric background.

    A couple more questions, you mentioned that you used a 2mm barrel jack, I think you meant to link to a barrel jack product, but your link was actually a power switch. What type of barrel jack did you use something like this ( Also, I'm assuming any 10A5V power supply will work, but do you remember which one you used? Finally, do you have a circuit diagram that indicates where the capacitor would hook up to? (Btw cool idea incorporating the potentiometer into the device) Thanks for being so helpful in answering my questions!

    ethanpnorton (author)joannali0012016-02-16

    I used a barrel jack similar to this one, but female end only. The 5A10V power supply came from adafruit. I will work on a creating a detailed circuit digram for you. I hope to few more features to the NeoBoard in the future.

    Lori Simpson (author)2016-02-13

    This is really a neat project. I have everything required laying around. Next rainy day, it's on. TFS!

    Awesome! Take some pictures and let me know if you have any questions. Good luck and happy making!

    SampsonJ (author)2016-02-05

    can the foam board be replaced by a normal cardboard??
    And would there be a problem if I decide to do a 18x15board??

    Please answer

    ethanpnorton (author)SampsonJ2016-02-06

    Yes, you can use any material (foam board, cardboard, plastic) as a backing for the LEDs. I used foam board because it was fairly rigid, light weight, and could easily be cut on a laser cutter.

    I do not think that there would be a problem with changing from my 16x16 to a 18x15 board. Obviously the code would need to be maintained, but if you keep with the "snaking" pattern than it should work.

    Good luck!

    SampsonJ (author)ethanpnorton2016-02-06

    Thanks a lot!! Great Job

    theredbryophyte (author)2015-12-22

    Would it be possible to have an image or video in a Processing sketch and this image be relayed live to the 16x16 display?

    treverandamber (author)2015-12-02

    Can you post a link to the lights you used please? I am familiar with 2801 led lights (neopixels) but they are not $8 for a strip of 60.

    I said 2801, but I meant 2812B

    A friend actually ordered my LEDs for me, but here is a link to some WS2812 that are priced at around $9/m after shipping:

    Hope this helps!

    JohnC20 (author)ethanpnorton2015-12-21

    According to your link the roll of 60 Addressable LED is $41.50. Neoixel are more costly than the regular 2812 RGB LED.

    SampsonJ (author)2015-12-02

    NIce one really, like it!! You've just gave me a great idea!!

    ynneb (author)2015-12-02

    Love it. This project would recieve more interest if the video wasnt as hidden.

    melarky (author)ynneb2015-12-02

    I agree, move the video higher up so you don't have to click a button to see it exists. I love instructables that have the video front and center. Again, great project!

    ethanpnorton (author)melarky2015-12-02

    Will do. Thanks for the help!

    dathcha (author)2015-12-02

    Epic! I might not know how to do all that!

    melarky (author)2015-12-02

    This is awesome, I was just looking for this specific project and you just put it up! Make sure and enter into some contests so I can vote for you!

    DIY Hacks and How Tos (author)2015-12-01

    Great looking display.

    About This Instructable



    More by ethanpnorton:Land Navigation, Orienteering, and Course ConstructionHomemade Rat TrapBook Assistant
    Add instructable to: