I’m not sure how everyone is handling their manufacturing process, but here’s what I came up with.
My device uses a photon and has the USB exposed so I was able to reuse a lot from the Particle CLI.
My contract manufacturer has some laptops running XP so those to run a simple sinatra server. It receives requests via URLS and sends CLI commands, flashes firmware, and writes results to a local sqlite database. It involves some trickery but I’m able to set the device’s SSID and verify it as well.
Here’s the basic server code. It could definitely use some refactoring and reworking to be more generic, but I hacked it together in a weekend and it seems to be doing the job. I’d be happy to explain more and share some of the view code if anybody would find it helpful.