So, you would think that as part of my complicated LED outfit that was several years of work over the years including over 10,000 lines of code, the shoes would not be a big deal...
Well, after having gone through more than 10 different pairs of LED shoes that all failed in various ways, I have to say that these were more trouble than expected.
Issues:
the early ones had wires or PCB between the pixels that would break after the shoe was bent many times as part of walking/dancing
later ones fixed this, but still used the same small module with limited battery life, barely good enough for 4H
even unmodified, the LED module resin would eventually crack, and usually the battery fail
worst failure was a lipo that did fail in a way that it smoked/burnt, not great under your feet (thankfully this was contained and my foot was ok)
the only way to add battery life was to solder a connector to the lipo pins inside the module, which is a bit tricky (getting a good sodler joint) and not getting that connection to fail later, which with dancing does happen too often* then, my first design which included adding a 2nd battery inside the shoe, turned out to be a mistake as the 2nd battery was not protected well and would eventually be breached. Also the thin wires for the orignal batteries I used woudl also fail:
I had to melt the resin until I could expose the power pins
looked ok on the bench, did not work long in the shoe
shoving the battery in was not easy
it worked on the bench, but didn't work too long in real life, by then I added an external lipo plug to check the voltage and do fast charge, bypassing USB
By then, I had what I thought was a great idea: why don't I just forget about secondary batteries and use the external connector to power my shoes from my pants that already have 5V power on the neopixels?
This felt like a good idea, but first I had to add diodes to drop 0.7V so as not to exceed 4.3V for a direct connection to the lipo (as a remminder, I cannot connect via the USB plug as if you send power there, the shoe does in charging mode and stops lighting up), but then I found out that my neopixel strips did not actually have 5V at the end due to line loss, and it was going to be complex to safely connect them to my shoes without a voltage regulator and more electronics, making the whole thing, questionable. Still, it was a tempting idea for a short while to use my mega battery pack to power the shoes forever ;)
So for version 4, I had slightly better connection of the external lipo connection with hot glue around the module, but the more important part is I figured out it was better to attach a flat lipo on top of the shoe so it wouldn't get stepped on:
I also had spare modules and batteries in case of failure, and a way to charge them from USB outside the shoe:
By then I had run out of my old modules that slowly failed over time, and had to find a new shoe with compatible modules. Thankfully that one has slightly better firmware that allowed lighting one LED out of two:
at least it's pretty
A big thanks to IGxx for nicely sending me extra modules so I could hack on them and have spares. Here is the shoe I recommend you buy today: https://www.amazon.com/gp/product/B07GS6GSRY/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
This is the new shoe with the updated module. Very pretty shoe, but otherwise the modules still have the same 4h runtime, and still need the same work, bummer:
battery goes up there so it's not stepped on
So yeah, we're now at v4, it still relies on unreliable soldering, and extra hot glue but at least the external wires are stronger, the external battery more than long enough for 12H+ of runtime
π
2025-01-17 01:01
in Arduino, Electronics, Linuxha
got a few extra colorful yard lights ;)
To debug some early issues I had with the pixelblaze, I soldered a few extra wires to add serial monitoring:
the serial port is temporarily going to a rPi3a which in turn makes it available over an ssh connection
up left if the pixelblaze pro expansion board that gives 8 channels, handles power distribution and converts the 12V to 5V for the pixelblaze itself
For the pixels, I picked rolls of 1000 pixels at 5cm and 10cm pitch from Ray Wu, trusted seller of blinky stuff, and one bonus of not doing this installation a few years earlier is that new pixels have been designed: WS2818.
WS2813 were a improvement for having a backup data line but still running on 5V which would have clear voltage drop issues.
WS2815 are the 12V version, which is good for dealing with voltage drop
WS2818 is yet another improvement over WS2815, still 12V with a backup data line, but more reliable and efficient
The last bit "more efficient" actually worked to my advantage as I was able to make a string with 600 pixels and not have to re-inject power anywhere. I measured line voltage at the end and it was only 5V but the pixels still worked great at the reduced voltage.
The advice I got on the leds are awesome group was to try hot glue, and it was a good idea. Thankfully I had a battery powered hot glue gun, which was a must have. The other important bit was a solder reflow hot air gun, which did have to be plugged in the few times I had to unglue strips to move them after I found a better routing or visual pattern:
And in all, I actually need 3 tools, the 3rd one was a battery operated air can replacement which allowed me to blow cold air on the hot glue points and have them dry in 10 to 15 seconds instead of 1mn. That was a lifesaver:
After laying strips, house looked like this:
After the first 2 days of work, I had 4 strips, around 1500 LEDs:
or on youtube:
But it really got better once I added 2 more strips and upp'ed the count to 2000, which was a lot more visually pleasing:
π
2024-11-20 01:01
in Clubbing, Electronics, Festivals
Tech specs:
32x16 flexible LED rgbpanel (displaying scrolling Dreamstate Logo)
2 strings of Ray Wu P15 WS2812 both for layout reasons and for backup if one string breaks, the other one will keep working.
Lipo battery checker (but the lipos are protected, so they will self shut down)
flexible 16x32 RGBpanel
found a hat big enough that it mostly fits on it
of course, it needed a few LEDs :)
what it looked inside and it worked with a small 1S 700mAh lipo (although not long enough)
bigger battery upgrade, and BTW those batteries lie, they are only 1600mAh
testing battery draw, a bit over 0.5A which is a bit too much
So, why 3-4V lipos instead of USB battery packs with 5V that is expected by both the panels and neopixels/WS2812? Well, space is limited, USB battery packs are kind of big, and carry extra hardware to recharge that isn't needed inside the hat. There is also a side byproduct that powering both the panels and the LEDs with a lower voltage, limits their brightness and the amount of power (watts) they need, which means that a 16Wh lipo inside a USB battery pack stepped up to 5V, makes everyting brighter, but only lasts about half as long as powering directly from the lipo at lower voltage.
bigger 4Ah 1S lipo worked for 8H at full power and LEDs worked all the way down to 2.8V!
panel worked all the way down to 3.4A before colors went wrong, 16H on a 1.6Ah battery
of course now I had to find a buy a faster 1S lipo charger with the right connectors (had to get JST adapters)
quick test that a smaller 700mAh battery would last around 5H before things got dim
After testing, I was able to confirm that both the $7 amazon controller (SP002E from https://www.amazon.com/gp/product/B09Y8SWJ77 ) and the RGBpanels, work fine with lower voltages (which is not a given since both run a microcontroller that was originally meant to be powered from 5V).
The RGBPanel controller is a bit more picky about voltage and reboots around 3.5V, while the neopixels tend to drag the battery voltage down, causing the RGBPanel to crash and reboot when a single battery runs both, so I gave it its own lipo.
Pixels still take 0.3 to 0.5A (I use a potentiometer to dial them down as the cheap controller I put has no dimming control) and the RGBPanel takes less than 0.1A, so that's nice (it actually goes all the way down to 0.05A or just 50mA) when the voltage drops.
The combined tricks should give around 18H of runtime with the 2 batteries (4Ah and 1.5Ah 1S lipos), which is enough for 17 hours of dreamstate (they are not screwing around this time, 17H !!!)
About the neopixel controller, I used a cheap $7 amazon controller that only had 3 physical buttons but sadly no dimming control, mostly because I wanted something very small, and while pixelblaze micro is also small, it doesn't have the pattern I want, and I didn't see the point of programming a pattern I already had on the other controller, so I just put a potentiometer to lower the voltage. It's obviously the wrong way to do it, but it works :)
Here is the end result:
π
2024-11-10 01:01
in Arduino, Computers, Electronics
I attended Pasadena Hackaday Supercon, so I figured I'd put my pictures into a quick blog entry, shouldn't take long...
1) Oh, I need to finish writing code to get the SAO badge holder to do something fun
2) Mmmh, why does this python global variable thing doessn't work in the function
3) Goes to re-learn python, with help from gemini and how python forks global variables by default in functions so what you write to them isn't saved at local scope (oh my, why did they do that?)
4) after more hacking, get a proper demo working:
After having such a great time at the linux.conf.au Open Hardware Miniconfs over the year, and missing them after the last one where I built those badges, I somehow missed a local-enough Hackaday Supercon that had been going on for years. Oh noes!
It was very cool that I got to wear my LCA SAO badges for the first time:
Thanks to Anthony for letting me know about it, and I was able to attend. Went there early on friday for the pre-conf to work on the badges:
the conference badge was this 6 port micropython rPi micro with a couple of SAOs.
they nicely provided food all 3 days
essential geek survival food :)
They gave us a quick primer on how the badge worked, although it would have been better on a webpage with links and info for total beginners who had never used micropython and thorny or knew what thorny was (that included me):
I'm glad I took pictures of these slides, they only made sense many hours later. They should have been online
finding fellow LED geeks :)
learning blinkies for beginners, scan this
While I was there, I 9ound out they had a wonderful 4 bit computer some years back. I actually really regret not having been there that year, programming that in hand crafted assembly would have been epic:
someone hacked a basic I2C on it
people now hard at work
I used the opportunity to bring previous LCA toys and show them off (and fix a few)
Also, finally got to meet Henner Zeller, the rpi-rgb-panels author I've been working online with for years:
epic watch!
Also got to meet Daryll Strauss from precision insight, later acquired by VA Linux some 25+ years ago:
People still hacking at night:
I was lit up enough not to get lost :)
Day 2-3, Saturday & Sunday
Saturday and Sunday were the main conference days:
went to attend a few talks
hacking radio sound and B&W video from a chip, super cool!
learned about an online microcontroller emulator, wokwi, very nice
who thought SAOs were a simple standard? :)
I got to see a pick and place machine, nice to see them work and glad we don't have to do this by hand:
this is what the machine was 'printing'
I tried the SMD challenge, that was hard as hell:
we got old and fat irons, making things harder :)
I couldn't get the last 2 LEDs working, they were so stupidly small
I had someone help me fix mine :)
and they all worked, thank you to the master solderer!
added the result on my badge :)
Random fun shots :)
people hard at work
During the weekend, the SAO wall got populated:
Fun to see this SAO based on this burning man sign
Original from Burning Man
more and more
and more :)
Saturday evening party had a nice real time AI image generator:
some were far out :)
The conf ended with a presentation of best SAOs:
This guy won the contest of biggest SAO, he had a printer working off USB, run by his SAO
Sunday ended with a party at a bar, thankfully I had my battery soldering iron :)
This was loads of fun, and I definitely learned some good stuff. Sad I didn't go earlier but glad I went this year. Thanks bunch to all the organizers and attendeers who contributed!
More pictures: https://photos.app.goo.gl/2hYRaaB5dF5mvv4N8
Lithium Batteries have a voltage between 3V and 4.1V, but recently they have been turned into the 1.5V form factor with some electronics that step them down to 1.5V and custom chargers that know how to recharge them via a special protocol, or for the EBL batteries, they have a micro USB plug onboard.
They are of course not all the same real usable capacity, and I've learned not to trust vendor capacity claims anymore either, due to the amount of sellers that plain lie on amazon. The good news is that Neither Xtar nor EBL lied about their cell capacity as long as you understand that the actual energy you can output will be lower due to conversion losses and some safety buffer to give the cell longer longevity.
https://docs.google.com/document/d/1z9o7O5o70SxJnQwKHJD8JdlPdScZZ1o09scHqUlDxeE/edit?usp=sharing
Here is a quick summary without pictures:
New Xtar: Rating: 4.15Wh, Charge: 5.5Wh, 3.45Wh Usable discharge at 1A
This is the only lithium battery that drops its voltage to 1.1V to give you a low voltage warning. Other batteries I tested just die with no warning. That alone is a reason to select it. I tested it with my garmin GPS and it gave me 2H of low battery warning before finally dying. Very nice!
It is also the battery that gave me the most actual discharge capacity
Seller is not lying about cell capacity (thank you) which of course is higher than actual usable energy due to conversion losses
New charger is unfortunately bigger than the old one and drops the USB-A output feature to use your batteries as an emergency USB charger
Verdict: this is the best battery I tested and what you should buy as long as you don't need a built in charger like EBL
Old Xtar: Rating: 3.3Wh, Charge: 5.3Wh, 2.7Wh Usable discharge at 1A
This is the older Xtar battery. It had best in class capacity until the newer one that came out with added low voltage warning. There is no good reason to buy this battery anymore, get the new one.
Its capacity is equivalent ot the EBL battery with built in USB charging, so the EBL is more versatile
The charger is very compact and can act as a USB power source, that's a nice feature.
10.6Wh to charge 2 batteries, or 5.3Wh charge per battery
EBL 3.3Wh rating, Charge: 4.3Wh, 2.7Wh usable discharge at 1A
There is no low voltage warning, but the battery capacity is actually equivalent to the old Xtar despite the space lost to the built in charger. The new Xtars last longer than the EBL though.
Interestingly EBLs need less energy to charge than Xtar for the same output capacity, they are more efficient
Big warning: if you try to charge the batteries via USB while they are in use, they are going to output 5V instead of 1.5V. This is unexpected and fried one of my GPSes. You cannot charge them while they are being used.
Deleepow 3.4Wh rating, 3.8Wh charge, 2.4Wh usable discharge at 1A
It was great to be able to attend my 3rd Illuminaughty LED Meetup, a great way to see other cool LED stuff built by like minded LED maker geeks. Several had really cool LED builds I had never seen and looked very well done, happy I got to see them :)
Just like last year, Illuminaughty was about as far across the playa as a camp can be, so it was nice when we arrived :)
Ran into a bunch of people will cool gear:
Very cool hat:
Impressed that the newer panels can bend pretty well
i21*
a lot of work went into these patterns
Anthony had a lot of cool gear he built, I was very impressed:
Obligatory group picture:
Thank you to Chuck for organizing this year again, it was lots of fun.
π
2023-06-16 01:01
in Arduino, Clubbing, Electronics, Festivals
This is the untethered update to my v5 outfit. Please see LED Pants and Shirt v5 on ESP32 and Raspberry Pi with P2 RGBPanels and Wifi for how the entire setup works, and for the new LED strips on arma and legs, you can see Party LED Outfit Version 5.5: Flexible P15 LED Strings, LED Fanny Pack, Rez Inspired LED Goggles, LED Laces and LED Shoes
And if you want even more details and history >>> See this full article on the why and evolution of my LED outfit <<<
For all these years, my outfit has relied on a fanny pack filled with batteries, and with an unslightly tether from the fanny pack to the panels, bringing 2 feeds with 5V (as backup and to spread out the amps over 2 wires). That system worked for many years and would survive the failure of one of the 2 5V connections, or even the 16V connection meant to feed the rPi from its own power source stepped down to 5V on the panels (so that it doesn't see a voltage dip on the remote 5V rail when the display sare fairly bright).
All in all, it worked, but the fanny pack tether and wires were cumbersome, and some security folks didn't like all the wires.
After switching to a new neopixel controller that is directly USB powered, it made more sense to power the panels locally and put the batteries on the panels:
For comparison, the old panel on the left only has the rPi and a small 16B to 5V converter and than relies on that tether cable to the white box on the left which has the DC-DC step down and the ESP32:
finished design with padding, power routing from 3 lipos or 2 USB attery packs
While this was not new for v6, made sure the camera still worked, it turns out to not be super reliable on batteries, but when it works, it's a crowd favorite:
The new version works like the old one, but with batteries directly attached to the panels, which in turn makes them much heavier, but oh well. Video with Lipos and DC-DC converter:
However, the more interesting upside is that I could also replace the 16V lips that get stepped down to 5V, with 5V USB Battery packs. the reason I never did that at the time is that the entire system takes way more than the maybe 2.5A you can get from USB packs on a good day. A somewhat cumbersome workaround to this problem is to use 2 USB battery packs with 2 independent outputs each, meaning 4 independent 5V busses able to put out up to 2.5A depending on the battery pack. So, I split my power system in 4:
front LED panels (3 panels) (1A or more depending on pattern)
rPi (about 1A depnding on CPU load, but must be a nice consistent 5V or the rPi will complain)
Neopixel string run by the ESP32 output if desired. This one might brown out but can be put on a separate USB pack to avoid taking other things down with it
Rear LED panels (also about 1A).
In total it means the whole thing uses about 3A at 5V, or 15W, which means 180Wh for 12h. In theory 2x 99Wh battery packs would work for 10H, but in real life, the first battery pack gets a lot more load since it runs the rPi, so it only really lasts about 7H before I have to replace it. Not ideal, but still nice that I can run from USB instead of lipos if needed:
Video of the USB version:
After some unfortunate feedback soon after I built the new version, I added a makeshift back cover with duct tape, mostly to hide the "scary" electronics, while still giving me accesss to them since this is still a prototype that needed occasional work and tweaks:
Since the original design with lipos, the good news is that lipo chargers have finally become much smaller. They are now small enough that I can simply leave one in my travel backpack forever:
Now I don't need this "custom made" battery box ;) which worked for its time, but didn't allow bigger batteries being an issue during 12H festivals (2 batteries wasn't enough), and was an issue during airport inspections when they wanted to "see inside the box":
I however found out over time that some airports really didn't like to see the panels in X-Ray with batteries attached. All airports were fine with the panels on their own, and the batteries on their own, but if I left the batteries in the outfit, which honestly is a lot more convenient to me, some airports really freaked out in totally irrational ways and now complained about "too many wires" "looks like a bomb" and all that good stuff. The 2 airports that delayed me enough that I barely made my flight (bangkok and Ontario, CA), literally said they would have been fine if I had packed the batteries together and still carried everything I was carrying, just not plugged in (of course everything was off, and plugged in is actually safer since you don't have loose power connectors that could somehow short).
So I'm not interested in missing a plane due to this and honestly nonsensical and irrational reactions (after all, no one said fear was rational or logical), so I eventually made a "battery pack" that I can more easily slide in and out before and after each flight:
Oh yes, it's still home made looking, could somehow get/make a box for it, but if I do they'll want to open it to see inside, going back to the original box I had earlier, so I'm not sure there is a good way to win this. Also if I make it look too much like one battery instead of 3, they'll complain it's 290Wh (over the limit) instead of 3x 98Wh (under the limit).
And to show how things evolved, this was the v3 outfit with neopixels and only 24x32 instead of 128x192, but much brighter. I did use v3 a couple of times again at day festivals, as it can be made bright enough to work in full daylight, but after doing this a few times (and that required extra batteries), I decided not to bother anymore, and skip the LED panel during day hours (I still have LEDs on arms and legs that can be made bright enough if need be):
Separately, I often have to explain to people, that my outfit is actually a scaled down version of the RGBPanels you see on stage. Once you have the display, it can scale up:
And another question I get is "how long does it last?". 2 batteries of my old 5Ah 4S lipos, was a bit short for an all night 12H festival (EDC), but back then I was also powering the LEDs on my arms and legs, which took an additional non trivial amount of power. For wiring ease, the LEDs are now on a separate battery, which allows the main system to run longer. I also upgraded the batteries from 5Ah to 6.7Ah. As a result, I found out a bit after the fact that actually 2 batteries would have been enough, since I put 3 as per my old setup, I ended up with a full runtime of just under 19H (I stopped the test before the batteries were totally drained since it's not great for them to do so). As I'm writing this, I now realize that with just 2 batteries, I could last 12.5H, which is still more than enough (and it would remove some weight, so I may want to consider that.
310Wh out of my 3 batteries, more than I thought, and almost 19H
because all meters have measurement errors, recharging pushed back in 20.4Ah instead of 21.2Ah which doesn't quite add up, but close enough
π
2023-05-17 01:01
in Arduino, Clubbing, Electronics, Festivals
This is an upgrade of v5, keeping the same panels and controller, see LED Pants and Shirt v5 on ESP32 and Raspberry Pi with P2 RGBPanels and Wifi for how that part works.
Version 5 was a bit upgrade with my P2 run rPi run RGB Panels for a resolution of 128x192 per side. The oldest part of the outfit at this point were actually the Neopixel strips I've had for about 5 years, and despite being more reliable WS2813B with backup data line, the PCB traces would break and the chips solder points would eventually break too. The amount of time I've spent fixing and replacing LED strips is more than I'm willing to talk about, but there was just no good alternative, until now.
In the past, flexible LED strands with wires between each pixel did not have enough density, maybe one pixel every 5cm, which was not acceptable for my use. And after many years of waiting, a company finally made P15 flexible strands, one LED every 1.5cm, which looks much better and is even a bit more dense than my previous strips that were P16.6.
Here there are: https://www.aliexpress.us/item/3256804447608449.html . Update, don't buy these, they are shit and broke within hours. See at the bottom
While I was at it, I added a small programmable 16x32 panel to my fanny pack, because why not (the existing fanny packs didn't have sufficient storage, so I ended up decking out mine), and here is the end result:
I have no idea how reliable the strips will be, and unfortunatley they are WS2811 without the backup data path that WS2813 had, but time will tell. I'm bringing it to EDC and we'll see what happens :)
Update: these broke within hours, they were crap.
Version 6.5.1: Ray Wu Strips
Update #1: after the terrible failures of the first strip from the first vendor (the internal wires broke almost instantly), I picked this new one from Ray Wu: https://www.aliexpress.us/item/3256805296356090.html
It ended up being more solid, but the flexing and occasional pulling on the bare strips that were attached with safety pins (I didn't want to glue or sew because it would then be unwashable), eventually caused the strips to fail, although it was more slowly. It worked for 4 festivals in Europe and required some resoldering, but it was not terrible. Still, it wasn't a long term solution either.
Version 6.5.2: Full LED Tubing Protection
So, I tried one more way to do it, this time I put the LED strings inside water tubing of the exact right diameter (fishing them in was a bit tricky), hot glued them on each side, especially the side they are soldered to RC servo connectors which I use for all the electrical wiring.
The next challenge was how to fasten this, and clothes safety pins didn't do the trick, so I used rolls of velcro cut to the right size, and the glue is so good that I was able to glue the velcro strips directly to the fabric. If somehow it won't hold, I'll superglue it.
End result looks like this:
This is now going to burning man, I hope it will hold, especially with lots of biking :)