After several months of hardware tinkering and programming, my hobby LED light project has come to a close. Jessica and I successfully displayed the lights on our backpack during the Electric Forest music festival last weekend.
I’ve posted several times about this project already, so this post will be a final summary focusing primarily on topics I haven’t yet discussed.
I arranged the 64x32 LED matrix panels side-by-side to form a square. I needed a way to hold the panels beside each other, so I designed a laser cut acrylic support panel (which I call “the belly”). The belly goes behind the lights and holds them in position. I also designed a second acrylic panel to sit in front of the lights and protect them (which I called “the lid”). While it would make sense to make the lid out of clear acrylic, I did some research online and chose to instead use a semi-transparent white acrylic that will gently defuse (blur) the light.
The LED lights need to be connected with the raspberry pi with a power cord, a 16-wire ribbon cable (for sending data to the LEDs), and a 4-wire ribbon cable (for communicating to the accelerometer). I ended up splitting the 16 wire ribbon cable into 16 individual wires to improve flexibility, then cut each of those wires to about 20 inches and fed them through a braided cable sleeve. Splitting the ribbon cable was tricky to do; if I were to do it again, I’d use one of the rainbow color ribbon cables which are supposedly easier to work with. Rather than plugging the wires from the Pi directly into the LED panels/accelerometer, I decided to make plugs on the perimeter of the lights for easy plugging and unplugging (which turned out to be a huge benefit).
All code for this project is original aside from the physics toolkit and the framework for communicating with the lights, which use publicly available open-source python libraries.
The software running the lights operate in “stages”, which each have their own behaviors. The light patterns are generated in real-time for all stages. Some of the stages use the accelerometer, while others show randomly generated patterns. I originally wanted the lights to sync up with music using a microphone, but there were some significant hardware and software limitations that prevented me from implementing it in time.
One of the more interesting parts of the software are the cellular automation stages. These are the stages that look like waves, tie dye, and fire. These patterns are achieved by programming a set of rules that are followed by each individual light based on the status of its neighboring lights. For example, think of a crowd of people doing “the wave” at a sporting event; the crowd could theoretically do the wave with their eyes closed if each person who pops up tells their neighbor to the pop up. Cellular Automation is similar to that, but often follows much more complex rulesets.
That’s the full rundown. I was successful at getting the device through airport security on our way to Electric Forest (although the TSA agent initially thought I was being wise when I told him it was a “Raspberry Pi”). I also it through the venue security without issue; it probably wasn’t even in the top 20 strangest things that they encountered that hour. Once inside the venue, I was able to store it in a locker.
We used the lights for two out of the four nights at the festival. We didn’t wear it every night because we had to avoid crowded areas when wearing the lights (due to the bumping and jostling), which was a big limitation. Many other attendees enjoyed the lights and gave compliments. A few dozen attendees started tapping on the lights assuming it was a touch screen (maybe next year). It was fun for us to contribute to the the many other bright and colorful totems and outfits in the forest.
The Boston Calling music festival is always a great time, and this year was no exception. The festival was during Memorial Day weekend - so I’ve had some time to reflect on the experiences - and here are my takeaways:
My LED light project is in it's final stretch before we bring it with us to the Electric Forest festival at the end of the month. I have a lot of updates, but for now I just want to post a video of the lights in action. Stay tuned for a more detailed post where I talk about the final hardware/software for this project.
Jess and I felt that our living room TV was a little small. A few days ago, I heard about a good TV sale, and we decided to upgrade. Our new TV is big, perhaps a little too big. It has 4K resolution, which is way cooler than I expected. Content in 4K looks really sharp.
And that leads me to my current fascination: 4k resolution and 60 frames per second city night walking videos. They look like a window into another part of the world. Plus, the videos are often several hours long - so they make good background ambience while working, cleaning, cooking, etc.
I am linking a few of my favorites below, but I feel like I’ve barely scratched the surface of this video genre. Highly recommend watching with your own music playing in the background. Enjoy!
This is a walk through Times Square in NYC. It’s interesting to revisit New York through this video. I particularly like how bright and colorful this video is, despite being recorded at night. I wish this video wandered to other parts of midtown.
This is video is a walk through a part of Tokyo. Within the first 10 minutes, the video cuts through narrow alleyways full of shops and eateries. It also features a few heavily-developed streets.
This video shows London at night, and features some very neat light (and water) installations. I haven’t seen all of this video yet.
This video is a walk through some less dense areas in Tokyo, including a few parks and shopping malls. It ends in a rather neat way (as far as night walking video endings go).
Jessica and I had a great 3-day trip to Philadelphia. It was a nice mix of business and recreation; Jess had a conference and I worked remotely from our hotel for 2 days.
On Thursday night, we went to a Jai Wolf concert at a venue called Union Transfer. Jai Wolf is a dance/electronic producer who also dabbles a bit in indie pop and rock. I originally thought we’d miss seeing him in Boston this weekend, but then we discovered that he was playing in Philly too. It was a good time, lots of good energy at this cool venue.
On Friday night, we enjoyed a nice dinner at Morimoto, a restaurant created by the eponymous iron chef. The restaurant looked incredible inside. Its appearance seemed to mimic what a good piece of sushi tastes like; smooth, delicate, complex, bright...you get the idea. Despite being owned by a famous chef, I thought the best things about this restaurant were the ambiance and the service. The food was good, but didn’t really beat out some other (cheaper) sushi restaurants we’ve been to. Overall, I’d still recommend Morimoto for a nice night out.
Saturday was Jess’s birthday. We woke up early and took a long walk through the city to sightsee. By dinner time, we were exhausted. We ended up getting a sandwich at a great place called The Foodery - a great place for beer drinkers. Then finished the night with a cocktail at the rooftop patio of a restaurant called The Continental.
We were very fortunate to receive a detailed list of Philadelphia restaurant and bar recommendations from a friend (Chris) of a friend (Casey). That list was really helpful. We used it a bunch. Thanks!
Before I sign off, I need to be realistic and note the unfortunate problem of homelessness and crime in Philadelphia. It’s definitely more in-your-face than any other city I’ve visited. Biker gangs patrol the streets, even in areas with a lot of business and tourist activity. There are plenty of people who are out on the sidewalks looking for trouble. And it’s sad to see so much poverty. You can’t really walk more than two blocks without being asked for a handout. I’d love to recommend visiting Philadelphia, but I’d give that recommendation a big asterisk - it’s only for the adventurous and the bold, particularly if you want to see the night life.
Over the last few months I’ve been working on a LED light project. I’ve already blogged about hooking up the LED matrices and the accelerometer. I also blogged about my frustrations with product defects and setbacks. But I never really wrote about the actual goal of the project. Until now!
The goal of the project is to build a portable square matrix of LED lights that can be affixed to our backpack at music festivals. The lights will be passive - that is, there won't be any buttons, knobs, or any other required interaction. However, the lights will be supported by some sensors (such as the accelerometer), which will allow it to react to its surroundings. The LED matrix will display colorful moving images that will hopefully be at home at music festivals...you know, the fun rave-y kinds.
I didn’t want to declare this goal too early because I was afraid the project wouldn’t be feasible. I didn’t want my fourth blog post to be an apologetic explanation about how my project idea was fundamentally flawed! I decided to build a proof-of-concept first, and then blog the specifics second.
I'm excited to share more details about the project. It has come a long way over the past few weeks. But first, I'd like to talk about three potential “show-stoppers” that had me worried when this project was in it's early stage.
An accelerometer will be a fundamental input source for the device; but, unfortunately, both the lights and the accelerometer use the same connector on the Raspberry Pi. To get this to work, I would need to stack the LED controller on top of the accelerometer connector so they can “share” the same GPIO connection. I thought this wasn’t going to work at all. Surprisingly, it worked just fine. For those following along at home, I used the Adafruit RGB Matrix Hat and the 3-Axis ADXL342 i2c accelerometer (connected via this i2c shield).
To make good use of the acceleration readings from the accelerometer, I’d need to run a physics simulation in the background while the lights are running. Then, I could render physical objects on the screen that respond realistically to movement. I considered this to be a major challenge because the light display, physics simulation, and acceleromter would all need to run fast enough to maintain at least 30 frames per second - below that frame rate, things will start to look choppy.
The only way to prove that this could work was to build a prototype and test it out. It was a happy night when I finally got everything running. Yes, the Raspberry Pi (model 3B) is indeed fast enough to run the physics simulation (in pybox2d) and the lights (using this package by hzeller) at the same time. However, it can only simulate a small number of physics objects at once. Performance drops dramatically when there are over 100 physics objects at once.
This was the grandaddy of all potential show-stoppers for this project. The LED matrix runs at 5V, but it takes a lot of current. The Raspberry Pi itself probably doesn’t take much juice, but requires a stable and uninterrupted power source. I started off looking at drone and remote car batteries, thinking I’d need something beefy like that. Eventually, I remember that I already own this fairly powerful battery for charging my Nintendo Switch. I had to buy this cable off of Amazon to connect the battery to the LED hat. After that cable arrived in the mail, I stalled on testing the battery for about a week. I was afraid of finding that it wouldn’t work and that the project was over. Fortunately, that wasn’t the case. In my testing so far, the battery worked for 90 minutes and, according battery status, is still somewhere between 75% and 100% charged.
This isn’t a total victory yet. I want to test that battery all the way to 0% so I know exactly how much time it can run when we are “off the grid”.
They might not. I won’t really know for sure until I try. Music festivals often allow totems, which are border-line spears. Festivals also allow LED hulahoops. So, I feel like I have a good shot at getting my project into a festival. That said, I will need to try hard to make my device look safe not scary.
We had a great time skiing in Colorado from Feb. 28 to Mar. 4. Our first day (Wednesday) we skied at Keystone. The weather was beautiful, around 30 degrees with clear blue skies. Views of the Rocky Mountains were amazing everywhere you looked. Our second day (Thursday) we skied Copper Mountain. Temperatures were around 25 degrees and cloudy with some snow flurries. The weather was changing, but the ski conditions were wonderful. Packed power everywhere. On Friday we skied Breckenridge. It snowed the night before and 8 inches of medium weight power coated the mountain. I loved the conditions, but some found it difficult to ski in the fresh snow. It snowed the entire day and temperatures remained in the high 20’s. After skiing we walked to town and enjoyed craft beers and dinner at Breckenridge Brewery. Downtown Breckenridge is a very cute town lined with shops, bars and restaurants. The snow continued to fall that night. The next day we relaxed at our ski house. The ski house was called “Cozy Cabin”. The house was much more than just a cabin. It was a huge log cabin with an open concept floor plan and exposed beams. We had 8 people in our group, but this place could fit over 15 comfortably. Later that afternoon we headed to Frisco. This is another cute ski town with high mountains that loomed in the background. We shopped and visited Highside Brewery and Outer Range Brewery. Afterward’s we stopped at Broken Compass Brewery near our house. The snow continued to fall making our drive up the steep mountain to our house was scary. Our front wheel drive minivan struggled to gain traction. One tight left turn proved to be difficult as I put the van into a sideway slide and gunned the gas. We sideswiped a snow bank, but kept momentum to make it back home. We had some good laughs. Luckily, no damage to the minivan. That evening we had our Great Club Awards Ceremony hosted by Jimmy Gregg. Special awards were presented mocking our individual skiing adventures . I captured some of these in drawings below. The snow continued to fall and fall. The next day (Sunday) Brian and Sharon had to head back to the Denver Airport at 6am. The snow was so deep that Brian had to use the snowblower to clear a path in the driveway. Their drive was also scary with whiteout conditions. Later that day there was an avalanche on Rte 70 that shut down the highway for a few hours. We stayed in the house that entire day because we were snowed in. We tried to get Uber and Lyft to take us to downtown Breckenridge, but no driver wanted to venture up the mountain to get us. By the time the snow stopped late Sunday night 40 inches fell in the area. Monday we were able to make it out and visit downtown Breckenridge for some shopping and cocktails. We all had a fun time and can’t wait for our next ski adventure. Long live The Great Club! Our moto: “Ski Hard, Ski Fast, Ski Out of Control”
CLICK ON SEE THE GALLERY HERE BUTTON BELOW FOR MORE PICTURES
I haven’t posted to the blog in awhile. And when the time without a post is this long, I feel like I need to return with some good quality content. I’d love to write a fun post about my progress on the LED light project but, unfortunately, it has suffered from several set-backs over the past few weeks.
After getting one LED panel working, I decided to buy three more panels. The panels are designed to be tiled together to form a larger display. Sadly, all three of the new panels were broken (one was cracked and the other two didn’t turn on). So, determined to keep the project moving forward, I bought another four panels. To my dismay, all four of those were broken too! So, I returned seven broken panels to Amazon all at once.
I did some research online and learned that I need to be careful with Amazon returns. If I were to buy and return another big batch of these panels, I’d be at risk of getting my Amazon account suspended. I had my Dad buy four panels with his account, and I bought another two panels of a slightly different design with my own account. I’ve tested two of those six so far, and fortunately, they both work.
The broken panels were a big set back. Testing and troubleshooting the panels takes a lot of time, and it’s frustrating working for a few nights and making zero progress.
Aside from the LED panels, I’ve also been tinkering with an ASUS Tinker Board S. This was my Christmas gift from my Secret Santa, Mike (thanks, Mike). It’s a single-board computer, very similar to the Raspberry Pi, but more powerful. At the same time, it’s less widely used and therefore more difficult troubleshoot by searching online. I’ve learned that 90% of tinkering is troubleshooting, so that’s a big deal.
I loaded an operating system for the Tinker Board onto an SD card, and somehow I completely bricked the SD card shortly thereafter. So, the project is on hold again until I get a new SD card.
I hope to have another update on this project soon. I have a working concept of what this project will become, but I still need to check if there’s any show-stoppers in terms of feasibility.
On New Years Eve we went to a Twiddle concert at the House of Blues in Boston with our friends Abby and Amanda. Twiddle is a jam band from Vermont. As far as jam bands go, Twiddle’s music is often very upbeat and happy. Their lead singer is a very talented performer; his voice sorta reminds me of John Popper of Blues Traveler.
At midnight, they dropped a ton of balloons and confetti. It was a neat place to be!
This show helped me appreciate the audiences at the recent Zhu and Rufus concerts (also at the House of Blues), which were generally a little more laid-back and respectful. I think an abundance of alcohol consumption had this Twiddle crowd a little rowdy - but hey, that’s how it goes on New Year’s Eve.
On Christmas Eve, my family held the 3rd annual beer challenge. This is a competition where we each bring a six pack (or similar) of beers and then hold a blind taste test and ultimately select the best overall beer. The winner is awarded a sampler pack of all the contending beers.
On this third year, there were several first occurrences:
Competition aside, this is always a fun event. It adds some variety to Christmas time. And, it's a good reason to gather in Barone's (the downstairs bar) and share beers together.
I'm looking forward to next year. We've already discussed some potential rule changes, such as banning IPAs from the competition and displaying the cans for each beer during the taste tests.
© 2017. All rights reserved.