Beware of soldering directly to the switch terminals! By the time you get them hot enough to solder to, the plastic body begins to soften and allow them to wiggle loose.
I also had to de- and then re-solder them to correct an error I made, and after that one of the poles wouldn’t conduct at all until I opened it up and cleaned off the contacts. My guess is the hot plastic outgassed and deposited a non-conductive film on the contact.

If there’s a future revision, I’d like a micro that can spare a few unused GPIO pins. It would allow for some wonderful little hacks to be added. (Piezo key finder! Vibrate receipt confirmation! Two-way communication to an LED or three! Press button to transmit a sensor reading!)

If it ever came time to rewrite the gang programming script, I’d strongly suggest picking up Python to do it. Python is really well-suited for these kinds of scripting and automation tasks, and it makes cake out of things like multithreading, handling COM ports, parsing logs, and just about anything else you could ever want.

I like the idea of the lid switch, but I’d take a slightly different approach. Make a box with an arcade button and one of the red/green LED matrixes. Every time you slap the button, it sends a message to begin programming. When programming is done, the status gets sent back and displayed on the LEDs (green pass, red fail). That way the operator can just focus completely on the programmer and never have to look back and forth between the programmer and the computer.

SparkFun is an online retail store that sells the bits and pieces to
make your electronics projects possible. Whether it's a robot that can
cook your breakfast or a GPS cat tracking device, our products and
resources are designed to make the world of electronics more accessible.

In addition to products, SparkFun also offers
classes and online tutorials to help educate
individuals in the wonderful world of embedded electronics.