So, we started with this:

It arrived looking like this:

And then I populated it by hand:

(on the verso is the tilt switch and the CR2032 holder)

Some lessons learned!

  1. When putting a current limiting resistor in place for an LED, put space for another in parallel. That way, if you only have one part, you can double the brightness without ordering new parts.
  2. Swapping the position of the tilt switch and the LED is possible, this would have made a slightly smaller board. I could also have made it properly 2-layers, but this is more expensive without making it much smaller – although it does let me place the CR2032 cell more freely on the board, instead of only exactly where it is.
  3. I thought I could just solder an LED to the board and bend the leads so it fits into a hole in a case. This turns out not to be a good idea, mainly because the LED is too far from the center of the board, most LED leads are shorter than I remembered, and it can needlessly place strain on the LED leads. This makes the board require a bigger case than it otherwise would have. A better solution would have been to use a JST header and just plug the LED in – it is worth the small extra cost. Thankfully, I made the pads a little bigger than they needed to be and can implement this by just drilling the holes off-center. The JST header will be on the verso of the board though, which is mildly suboptimal as the cable has to be passed back around the board for most lamp designs. This would still be a big improvement for most lamp designs, as the inconvenience is minor.

As much as I tried to think of these things in advance, I guess I can’t think of everything! So it was really instructive to go through the experience of getting the boards professionally made, and assembling by hand.

Also wow, soldering surface mount is way easier when there’s solder mask. It’s way easier and cleaner than through hole stuff. It feels practically like cheating.