Marc's Public Blog - Clubbing and Trance


All | Aquariums | Arduino | Btrfs | Cars | Cats | Clubbing | Dining | Diving | Electronics | Exercising | Flying | Hiking | Linux | Linuxha | Monuments | Museums | Public | Rc | Sciencemuseums | Snow | Solar | Trips

Ok, so I like electronic dance music, more specifically Trance. Unfortunately, the US, it's let's just say... a bit behind in that department. If you ever hear such music on the radio, or even in the street, let me know (for instance, in Australia, I heard great Trance in even a waterslide park of all places, and in Europe you can easily get EDM/Trance on broadcast radio). With San Francisco and San Jose nearby, I've had some opportunities to see some great EDM/Trance DJs. Back in the early 2000's, they sadly played club music in the US that was nowhere close to the hits they had composed and were known for, but over the years, as Trance started becoming more popular, those DJs finally started playing their good tunes in the US too, and maybe from 2004 on, it's only been getting better.

Since 2004 (it's now 2016), the good news is that Trance has grown quite a following in the US, and places like the SF Bay Area, and while Trance has been declared dead a few times in the last 10 years, it's still going strong here, and we're lucky to have at least one or two big Trance parties per year, so yeah! Trance Family SF is definitely strong in the area, I'm thankful of the friends I made there.

Over time, I've seen many of my favorite DJs across the world, whether it was locally, in New York City, Canada, Australia, and of course Ibiza, and at Halloween 2004, I finally attended some great local parties that proved that you could get the good stuff locally too (even if all the artists came from other countries :-).

Over the years, I also got the chance to meet a few of my favourite DJs, including Armin more than once:



You can find all the pictures here

>>> Back to post index <<<

2018/05/29 EDM Party Shirt powered with FastLED::NeoMatrix and Adafruit::GFX, plus 160Wh (10Ah/4S) worth of lipos
π 2018-05-29 01:01 in Arduino, Clubbing, Electronics



After I figured that my previous shirt was getting a bit stale, I wanted to design EDM Party Shirt v2, which both had to be easier to wash (the previous one had LED strips all over it that were too much work to remove, making the shirt not really washable), and I also wanted it to be more special.
I had been playing with Adafruit::NeoMatrix and figured it would be cool to have a NeoMatrix on my shirt (also it would be easier to remove a whole panel to wash the shirt).

So, in the great tradition of yak shaving, I first decided that I should be able to use FastLED instead of Adafruit::Neopixel. This was mainly at the time because FastLED allows parallel output and therefore allows updating a screen by segmenting it in smaller pieces that are updated in parallel. With Adafruit::NeoMatrix, my 768 pixel panel would have taken about 30ms to refresh, or only 33 frames per second, which is not a lot. With FastLED, I was able to trivially segment it in 3 and get 10ms/100fps, which is a whole lot better for animations.
Turns out, switching to FastLED also gave me access to LEDMatrix, an alternate library which while lacking Adafruit::GFX primitives, offers another nice API including better text and basic sprite support.

So, I started a port of Adafruit::NeoMatrix to FastLED and wrote FastLED::NeoMatrix. It was actually a non trivial port, which took much longer than I thought, but I got it working in the end:


by then I was already able to display with 3 data lines, one for each 32x8 panel
by then I was already able to display with 3 data lines, one for each 32x8 panel

In the process, I managed to plug the wrong power into the panel and blew a pixel. Thankfully I was able to borrow another pixel from a strip and soldering it in place to fix it:


Once the port was done, came time to get the panels together. Wiring was a bit challenging because I had to ensure that power was injected at a mostly equal value in 9 different points (3 per panel) due to voltage sag at higher amps. I then quickly found out that with 3 data lines at high frequency, there is cross talk between the wires, so I switched to a CAT-5e cable where each data line is twisted with its ground and the remaining 2 wires are used to bring VCC (5V). Technically my 3 panels can use up to 60A at 5V at full power. Obviously many things will melt before that, and I'm using a power converter that tops out at 10A. Even 10A is too much for the wiring, but thankfully my displays don't use that much brightness (it would be blinding to people):


two 5Ah 16V lipos give about 160Wh, just enough to run 2 panels 10 to 12H
two 5Ah 16V lipos give about 160Wh, just enough to run 2 panels 10 to 12H

the fancy energy meter keeps track of how much time I used and how many Ah came out of the batteries. Useful to know how much time I have left. The blue meter is amps at 5V (after the power converter) and the red one amps at 16V (straight from the battery)
the fancy energy meter keeps track of how much time I used and how many Ah came out of the batteries. Useful to know how much time I have left. The blue meter is amps at 5V (after the power converter) and the red one amps at 16V (straight from the battery)

on the right, I have a backup ESP8266 if the main one fails, a backup BEC (5V converter) that's technically 10A capaable but not meant to do more than 5A continous, and bottom right is my older 3A BEC with in line amp meter
on the right, I have a backup ESP8266 if the main one fails, a backup BEC (5V converter) that's technically 10A capaable but not meant to do more than 5A continous, and bottom right is my older 3A BEC with in line amp meter

the new tobsun 5V converter is bulky but does 10A without issues
the new tobsun 5V converter is bulky but does 10A without issues

For the back of the shirt, I got some fabric and created an inside pocket to hold the panel:




it then mirrors the front
it then mirrors the front

All this crap goes into a fanny pack, and gets wired to my shirt, pants, and glasses:



the cool part is that my back also has a panel inside the shirt that uses the shirt as a diffuser
the cool part is that my back also has a panel inside the shirt that uses the shirt as a diffuser

You can get the code I wrote for the shirt here: https://github.com/marcmerlin/NeoMatrix-FastLED-IR

This video shows an early version of the code working on a desk:

This video shows the animations:

While this video shows the tech a bit more:


More pages: August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 November 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 December 2016 November 2016 September 2016 August 2016 June 2016 May 2016 January 2016 September 2015 August 2015 June 2015 September 2014 August 2014 May 2014 September 2013 May 2012 May 2011 December 2009 November 2009 April 2009 March 2009 October 2008 June 2008 October 2007 September 2007 July 2007 May 2007 April 2007 November 2006 October 2006 September 2006 June 2006 May 2006 January 2006 December 2005 October 2005 September 2005 August 2005 June 2005 May 2005 February 2005 December 2004 November 2004 October 2004 September 2004 June 2004 August 2003 July 2003 February 2002 November 2001 October 2001 September 2001 July 2001 June 2000

>>> Back to post index <<<