For running field test on the first units on a new product, I looking for a way to setup 20 units of B5-SOM based products at a time for a product setup in Console.
The challenge is that SOM’s and the product they are in, do not have USB or reset/mode buttons. So I am also looking towards a production setup without the App.
Scanning the QR code result in a serial number, adding this in console to the product claims the device and automatically adds the SIM as well (could be done with CLI I believe). If the product got online docs indicate it would OTA the released firmware.
However on the device the internal SIM still needs to be activated with the App or are there other options?
For provisioning, you really don’t need to interact with the device apart from what you’ve done. I’m working on a nice doc of manufacturing best practices, but in the meantime the flow is:
Mfg → follow the JTAG instructions above, grab Serial No / ICCID by scanning. Best to flash two apps this way:
a) Mfg test application that exercises key components of your board and sets the setup flag done in this firmware
b) Your production application proper
a) hit our API w/ Serial No for Device ID
b) hit our API to import & activate SIM
c) hit our API to import and claim your devices (optionally also naming them after the Serial Number - this can be a useful convention), adding them to any relevant device groups
^ you can accomplish all of the above with a batch script in the scripting language of your choice
Yes DFU mode as in the link, thanks. I will correct it above. Reset is available on a pad on our PCB not the mode button. For module debugging we would put the module in the BSOM breakout.
Reset and SWD pads are already available on 4 pads on the the B5 module and the data sheet states these are used by Particle to flash firmware. But again I wonder how the module is put in DFU mode in connection with that if necessary.
I would prefer us to do the same, as very fast options should be possible.
Yes, except these connectors are not designed for a lot of module changes. But for 20 it would be fine. Would prefer to spend the automation time towards a production setup.
Yes, there is access to reset and also LEDs, just not the mode button. [Edit: and not USB. My initial thought is to let the first downloaded firmware set the setup flag to done, and perform a selftest and indicate the result with LED’s].
Still searching I just found this indicating a timed reset, is an option:
Looking for at solution that will keep working, is this also how Particle does this?
For production I am now looking for a pre-built OpenOCD install without Particle Workbench, and a Particle config to place with it.
Tried drag and drop the other day on a Boron (super cool ), but needed the mode button for that. If updated with the above built in reset, that would be great for SOM’s too, and for a service department.
Support closed the case without resoling it, stating that all the methods mentioned in the link above work without DFU mode set by buttons, despite the docs stating the opposite.
Specifically, the one thing I could try, drag and drop, does not work for me, with a Boron 2G3G, without putting the device in DFU mode with buttons as required in the documentation. Support keeps claiming the opposite. After 3 weeks of this, I have to give up on this one.
Place B5 module in BSOM breakout board and power it
Connect an updated Particle debugger to the breakout and to Mac/PC
Drag and drop the hex file to the drive created by the Particle debugger
When the breakout board blue LED lights solid blue you are done
In console>product>devices>add module, enter serial (activates SIM with carriers)
The serial can be copied via the QR code on the module (the first of two series of chars)
In console product devices will have no owner. After plowing through all the documentation all day, I found this mention that indicates, you can claim via CLI if you want to, but for a cellular no credentials/customer/user product setup in Console, it should work without (see “for products only”):
For production test, this specific product is designed to be able to do an extensive self-test. Saves a lot of gear/scripting.
I have verified flashing and adding devices to a product in console this way, but have yet to see them running for a while.