For a school festival I wanted to make a super cool “costume”, leading me to the decision to make a T-Shirt with a 6x6 LED matrix. Using WS2812b LEDs, it was easy to connect everything to a microcontroller that runs a control software. I wanted it to be washable, meaning you had to be able to remove the electronics. At the time of building, the main problem I encountered was the lack of programming knowledge, which lead me to an Open-Source project called LMCS by Tyler Jones.
This is only a rough overview of the main components needed, I wrote this article a long time after building it.
- T-Shirt (better to take one size bigger)
- WS2812b LED strip, I used 30 LED/m, also known as “NeoPixel” from Adafruit
- Nonwoven fabric for holding the LED strip
- Arduino UNO with USB cable
- Powerbank as a portable source of energy
- Old plastic case as a housing
- Some wire
Total cost for all parts is around 50€. Most likely you can re-use components you have at home anyway!
At first I cut my strips every 6 LEDs, so it makes a nice square. I decided to solder female header pins, which turned out to be a bad decision. Please refer to the next heading about it. The T-shirt will hold the matrix and let light shine through. By adding some nonwoven to the inside, I was able to slide the rows into the shirt. You will need to add quite a bit of fabric to make the pockets for the strips, so they slide in freely.
The strips can now be slid into the pockets, so it results in a nice and even surface. Be very careful with your header pins, it helps to cover them in tape while moving. It is important that you connect the individual strips in a zig-zag pattern, so it can be used with the LMCS controller later.
For the Microcontroller, I used an Arduino UNO, which is a very versatile device. Remember to add a small resistor to the data line and a bigger capacitor, to protect the LEDs. Consult the datasheet for more information. To keep things tidy, I soldered everything onto a prototype PCB, adding an external power jack.
Let’s talk about the power. Every LED can draw up to 60mA of current, which you need to multiply with 36 LEDs. Those high currents turned out to be a challenge to provide, however I decided to not run the LEDs on full brightness. This allowed me to use a normal powerbank with a decent runtime. One pocket of my trousers was used for the powerbank, the other for the Arduino.
For the code, I first experimented with the Adafruit NeoMatrix libary, which allowed me to draw basic shapes. However, I initially wanted to have animations too. That’s why the project went out of my focus for a while, until I found a great YouTube video by GreatScott! featuring a control software for his LED matrix. After chatting with the original creator, Tyler Jones, I was confident that the software LMCS could upgrade my T-Shirt to a new level. I had to borrow a Windows computer for it though. At the time of making the project, I was using the version 1.3.2. Some great features include:
- Transmit Screen content
- Painting mode
You need to upload a custom sketch to your Arduino to make it work.
My main complaint are the header pins used to connect the individual stripes. In theory, it allows the T-Shirt to be washable and still connects all parts electrically. However, it turned out to be very unreliable and hard to slide in and out. I would highly recommend you to crimp some sort of wire-to-wire connectors, for a more secure connection. The Arduino made a good job, and I was happy about the great work by Tyler Jones with his control software. Future upgrades could include an ESP, making it possible to connect to a hotspot and to play mini-games on the T-Shirt.