Today the PCBs arrived. I ordered them through Seeed's Fusion because they were only $4.90 for 10 panels of 6x3, so I got 180 PCBs at about $.03 each!. Surprisingly they came V-Cut, too, so I'm a super happy camper. Shipping was about $30, but I was getting another PCB for a different project so it was still cheaper than a dime each for a custom board.
The first step was populating them. There are only two components; an ATTiny and a button, so making a few units was dead simple.
Next was the programming jig. I had an Arduino as an ISP with the standard 3x2 header, but for this board I made it 6x1, so I had to build an adapter. I like doing my programming headers at .1", so making the programming cable/adapter is done on regular perf board. I decided not to use spring pins or pogo pins and instead I just used a strip of male header. If I press it against the PCB it still works well. It took a couple tries and some stupid mirroring mistakes, but eventually the programmer worked and I was off to the races.
The WS2812B strips lit just fine with the test code and I then switched to firmware development. I started with some code from a different project for managing the LEDs with an ATTiny so I had a leg up here and mostly just needed to refine for the number of LEDs and add some new features like the power cycling changing the mode. I still need to implement the brightness control with the long press.
I'm happy with the waterproof connector I've chosen, but I really need to figure out how to seal the PCB and offer strain relief on the connections, plus also make the button work. It's going to be interesting.
Next up is a functional test in a tree to make sure it looks good and evaluate my choice in the number of LEDs in the strip. I don't like how the strip is black on the backside, so I may have to double it up.