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.
This is a continuation of my last post about tinkering with the Raspberry Pi, which you can find here.
I recently purchased an accelerometer along with an "i2c" connector that makes interfacing the accelerometer with the Raspberry Pi easier. To be specific, the accelerometer I bought was a model ADXL345. You may recognize an "accelerometer" as the device that lets your smartphone know which way it’s being tilted or moved. Similarly, the Nintendo Wii famously used an accelerometer in its controller so you can swing it around to bowl or play tennis.
There were a few good tutorials online that helped me get the accelerometer working. I was surprised how easy it was to set up. Plus, on the hardware side, no soldering was needed!
I found a very simple example program online to take a single acceleration reading using python. I expanded on that example, and developed a small python module that can initialize the accelerometer, modify its calibration, and provide acceleration readings whenever requested. I could even get hundreds of readings per second, if necessary.
Out of the box, the accelerometer’s calibration wasn’t great. It provides three acceleration values (think of these as up/down, left/right, and forward/backward). When the accelerometer is at rest (i.e., sitting on my desk), two of those accelerations should be zero and the up/down direction should show earth’s gravitational acceleration (32.2 ft per second squared) in the downward direction. It was off by about 10% in one direction, but that was easy to recalibrate.
This is a really great and effective product - and you probably haven’t ever heard of it! It’s not drugs...it’s Tincture of Benzoin, and it helps keep bandages (including bandaids) stay stuck on skin.
They often come in packs of small vials. You break them sorta like a glow stick (there’s a vial within a vial) and apply it to skin in a thin layer using a built-in gauze pad. Then, let it sit for a minute or so until it’s somewhat dry and tacky. Lastly, put on the bandage.
The bandage will stay stuck much better than normal. It will endure getting wet better than normal too. This is especially useful for cuts in tricky places with a lot of movement, like hands, or where there’s rubbing, like the heel of your foot. When the time comes, the bandage can be peeled off without too much difficulty.
I couldn’t find this at CVS or Walgreens, but I eventually found it at REI. It’s probably also available online.
Last night, Jess and I saw Rufus Du Sol at the House of Blues in Boston. Rufus Du Sol (commonly just called Rufus) is a dance/electronic band from Australia.
We saw Rufus earlier this year at Electric Forest and had a great time. Last night their show didn’t quite have the same level of energy, but it was very fun. I was happy to see that the vast majority of the vocals and instrumentals were performed live at this concert - which is not often the case in electronic shows. That being said, the music wasn’t as “tight” as it should have been.
As usual, the crowd was friendly and great. Jess and I have been liking House of Blues lately, particularly because they take the security screenings very seriously. We’re looking forward to going back for another show soon.
A special ‘thanks’ to Judy, Jess’s mom, for watching Violet during our night at this show.
I like tinkering on tech projects, but I don't know much about electronics and hardware. I know enough to assemble a computer and debug simple hardware problems - but I am incapable of doing custom electronics. I want a new fun project that I could use to broaden my knowledge of electronics. While I still don't know what that project is going to be, I decided to start by playing with some LED lights because they're fun and visual.
I stocked up on various components that work with my Raspberry Pi 3. For those who are uninitiated, the Raspberry Pi 3 is a $35 computer that's about the size of a deck of cards. It's designed to be very extendable, so capable tinkerers can use it for things like robotics, smart home accessories, etc. I used the Raspberry Pi for the machine-learning traffic camera project about a year ago. For starters, my goal was to get a single matrix of LED lights working. To do this, I needed the following components:
I felt like I was in over my head when I discovered that everything wasn't pre-soldered for me. I've never soldered before, despite actually owning my own soldering iron. The first few minutes of soldering went very poorly, but I eventually got the hang of it. I made a few newbie mistakes with the soldering; for example, I soldered one of the connectors backward - so I needed to use a razor to shave a part of the plug down so it could fit into the backward connector.
After taking care of all the hardware, I booted up the Raspberry Pi and installed some software to drive the LEDs. I used an open-source software library that appears to be the go-to standard for these types of LED projects. This software should enable me to show any arbitrary image/animation on the LEDs. Plus, it comes with a few built-in examples that are good for testing the hardware; one of which is a spinning multi-colored square.
Initially, I was thrilled because the LED display sprang to life on my first attempt to run the example. But, then I realized that the screen was really only showing the color red - no blue and only a tiny bit of green. I was stuck debugging this problem for a few frustrating nights. I fiddled a bunch with the software, I tried every capable power cord in our apartment, I resoldered every connection, I even soldered a custom jumper wire between two pins (I read online that this customization improves LED performance) - but none of these things fixed the problem. I spent some time poking at the board using a multimeter when I finally realized that the wires leading to the LED matrix were carrying a lot less power than they should have been. I used the multimeter to connect the 5V input directly to the LED display, and to my amazement, the lights started glowing with the full spectrum of color. There must have been a defect with the RGB Matrix HAT (or more likely, I must have broken the HAT while soldering). To fix it, I soldered a jumper between the 5V input and the connector that leads to the LED matrix. I have a feeling a skilled electrical engineer would have found a more elegant fix to this problem - but I was pretty proud that I found any fix to the problem.
This was a super rewarding starter project for someone looking to learn a bit about electronics. I'm especially excited about this because there's a lot that can be done from here. These LED panels can be daisy-chained together to make a bigger display, plus I can program the panels to display just about anything. I already have a few ideas for the next steps - but I will keep those to myself for now.
© 2017. All rights reserved.