Introduction: Light Vision (WIFI-Raspberry PI LED Matrix)

About: I'm designing some small projects in my free time or at my work in a MakerSpace. Also, I upload some of my school projects. I'm always working on three projects at the same time, so the upload is a little fuck…

This is a small project a classmate and I created for our It-Project. We wanted to build a matrix display with a Raspberry Pi that we can control over Wi-Fi with our own C# program.

Step 1: First Versions

The big problem with this project was that we had completely miscalculated how to do the implementation with the lighting in the beginning. We thought it would be good if we took individual LED strips and then connect them to a large display. The idea is okay, but we have planned the space very small, so I have tried several weeks to place the LEDs to the millimeter. The cables were pretty thick and always broke of the soldering pat. After a desperate weekend where almost all LED strips broke, I decided to use PCBs and after one day everything works.

Step 2: The Program

We have developed a program based on C# and using Visual Studio to control the matrix display. Before we even started programming, we thought about a short list of requirements for the program, which must be definitely fulfilled. There was then also an extension list, if we still have time.

Requirements:

  • Connect to server on RaspPi
  • Converting input in the fields to LED control
  • Create own pixel art - images and animations
  • Display messages or text
  • Add
  • Control the program on RaspPi (set time, delay between tiles etc.)
  • Predefined tiles

Add-ons for later

  • more tiles e.g. stonks, weather or time
  • Embedding of animations and images from the Internet community
  • add GIFs/PNG/JPEG

Functions that the user has at the end go through page by page.

  1. The first image shows the default editor. Here you can click on each pixel and give it a color, use the filler tool, erase, click on a color on the screen and then transfer it to the selected color box, change the name of the image and the display time of the image, insert a PNG/JPEG, which will be scaled down. You can also select existing images and then edit them.
  2. The Animator is an advanced version of the Editor. Here you have the same drawing functions as in the editor, but you can draw your own animations. When you create an animation, you select the length of the animation, and it is shown by the green dots at the top. Additionally, you can insert GIFs which will be converted without drawing. A special feature is that you do not have to draw frame by frame, but can also adjust the display duration of the individual images.
  3. The template page shows the prefabricated special fields, which we could finish at the end. First, the display of the time with the clock and the value of the GameStop stock.
  4. The dashboard then shows all the straight active images and animations. The animations are all animated as well, so you can tell the difference. By dragging and dropping, you can move the tiles and change the display order. With a double click on a tile, you get to the respective editor for animations or images.
  5. In the settings, you can then change the color of the program and switch off that the tiles in the dashboard are animated, because this has caused a slight confusion for some people.

Step 3: Connection

After each save of the user, the Program sends all the data that the Program has stored locally to the root server. The images are stored in the form of bitmaps, i.e. an array of pixels with color values. Saving is made easier by the fact that we only store images and animations consist of images, and then these are simply reassembled as an animation when they are sent back. Every 15 minutes, the Raspberry Pi asks the server for data. And then gets all the data transferred.

Step 4: What You Need

Step 5: 3D Print

I would recommend to print most of the components in black. I had printed the front panel in white myself, but this caused massive ghosting, with the LEDs illuminating the adjacent chamber of the other LEDs. To fix this problem, I printed the front panel with a color change, where only the first layer is printed in white and the rest in black. The other components should print without problems with support. I would also recommend Cura for this, as their support is better than PrusaSlicer. You only need every part once.

Step 6: Soldering

Now that you have printed all the parts, take the front plate and place the 3 PCBs on it. Next, take a strip of tape to securely connect the PCBs as you solder them. Now take the backplate(Puscher) with the large openings and screw the front panel and the pusher together. Be careful not to move the boards between the pusher and the front panel while screwing them together. Now all you have to do is solder the PCBs so that each pin is connected to the other pin so that the LEDs are all connected to each other as if in a long row. Here, you should make sure that the cables do not fall below a certain thickness, since the series connection means that all the current must flow through one cable. I have even fixed the cables with hot glue so that they do not break off from the solder pads.

Step 7: Connection to the Raspberry

Now you can take the lid and screw the Raspberry Pi to it. I would recommend using the Raspberry Pi heat sink. Don't be confused by the different backplates. The first one is only the V1.

You now need a 2 pin header to connect Ground and Din to the Raspberry Pi. You also only have to connect one end of the boards to the Raspberry Pi. Not only that, but you can connect the fans to the 5V pins in red and the GND pins in black.

Furthermore, you should also glue two small fans, as the back of the LED boards can heat up very strongly. It even got so hot that the plastic deformed.

You can get the code for the Raspberry Pi on my GitHub page.

Step 8: Power

For the power, we use a power supply, because the LEDs consume more energy than the Raspberry Pi can provide. In addition, care should be taken with thin cables. If thin cables are used, you should take extra care that they do not burn through. A good test is if you try it briefly with the cable, but have your hand on the power switch to turn it off in case the cables are getting hot. We used two cables to be on the safe side, because in the first test I created a little glowing cable, which melted the isolation in one second.


But if you have never worked with high voltage, you should rather do so with someone who is familiar with something like this!!!

Step 9: Srewing the Backplate

Now you only have to screw the lid, you should be careful not to tighten the screws too much.

Step 10: Conclusion

I really liked the project and had a lot of fun developing and building it. I put a lot of time into the development and also had some misprints, as you can see in the last picture on the high stack of prints. I would rather recommend everyone if you do such a project to develop it yourself, because you also learn so much more than if you follow a guide or maybe someone is motivated to take my project and revise it. There are even minor issues like overheating, which we solved through the fans, but it would be more elegant to get it running without active cooling. I really liked this project. I hope you enjoyed this Instractable and have fun to build it. Let me know in the comments what you think or if you have any questions? Thank you for reading.

YouTube

Thingiverse

MyMiniFactory

Cults3D

Etsy

Make it Glow Contest

Participated in the
Make it Glow Contest