I have learned a ton since my last update, but things are moving in the right direction. Here's what's happened:
- I've finished the CAD for the chassis, and have printed all but a few pieces. I ditched ABS for PETG. Folks are not lying when they say ABS is a pain to print with. You can find the updated files on the repo. The only thing that's really changed about the design is that I've added sockets with threaded M3 inserts to receive the stilts on each of the main chassis pieces. The stilts have M3 inserts that line up with the sockets'. This holds the everything well and adds very little strain to the system (regardless of how you've got everything rotated). It also allowed me to minimize glue usage. Glue scares me.
- I've wired up most of the LEDs! This was not a smooth process. All
seemed to be going well when I first hooked up the first chunk (see photo above). I alligator-clipped my power, ground, and data lines to the leads of my lights and fired up the ESP-32. As expected, the lights danced along with the MIDI notes I sent to it via BLE. However, I only ever fed it a stream of single notes - no chords. This did not dawn on me until I had wired up most of the other lights. When I finally tried driving the entire clef side of the visualizer, I noticed a good deal of flickering when I played multiple notes at once. I experimented with different power supplies, different LED color/brightness settings, and different sub-sequences of LEDs, but I still could not make sense of the flickering. After hours of madness, I discovered that the manufacturer of these lights "highly recommends" putting a 0.1μf capacitor between the power and ground leads of each. I had definitely read that and ignored it when I placed the order. Never again. One eBay order and five days of shipping later, I was back in business. (I'm still only putting the caps between ~every other LED. Please let me learn this the hard way.)
- Here's a closer look at the assembly of a single chassis piece: