I got the boards in and populated one with parts in waves testing in between. First problem is that I used the wrong foot print for the regulator. Luckily the part is big enough to dead bug without major issue. After that it was mostly smooth sailing. It even took a program without much hassle. The only issue is the programmer (PICKit3) is unable to provide enough current to power all the LEDs. But that is a minor inconvenience.
The more annoying problems came after I got the Beacon working and then tried to detect it with a fairly common IR detector module. In my case I was using the VS1838. For several hours I could detect nothing. I then tried a new part and things started to work better. But I would find the chip would receive for a while and then sort of fade away. Reading the datasheet it became obvious that the automated gain control (AGC) circuit was filtering out my signal. Turns out you need to have at least 15 ms of off time every 90ms. This allows the AGC to tune to the off time and not when the signal is present.
This required me to slow down the pulse rate on the Beacon to have it run no faster than 66 Hz (1/15ms). Once I did this, the receiver picks up the Beacon very well.
So my next step is some tuning of the current limiting resistor to get a solid 20 ma of LED current and to fix the bad footprint. I will also take the time to see if I can make the board even smaller. Not that its too big, but the boards are priced per square inch. I may also all a few more LEDs and reduce the current limiting resistor and the power lost to it as well as making the beacon brighter.
I should have a version 1.1 board ordered in another week or two.