Setting up Argons for an upcoming class

I have about 20 Argons that I will have students use in an upcoming IoT course. I want to upgrade them all to the latest firmware and flash some initial code that prevents the Argon from searching for WiFi or wanting to be claimed until we are ready to do this in the class. We have have several labs that don’t need WiFi right away. Here is my process so far.

particle flash --usb tinker -v
particle update -v

I then use Particle Workbench to compile and load the following application via a local build and flash.

#include "dct.h"
void setup() {
    // 0x01 = setup done
    // 0xff = setup not done (go into listening mode at boot)
    const uint8_t val = 0x01;
    dct_write_app_data(&val, DCT_SETUP_DONE_OFFSET, 1);
    // This is just so you know the operation is complete
    pinMode(D7, OUTPUT);
    digitalWrite(D7, HIGH);
void loop() {

When the Argon restarts it still comes up in flashing blue mode which I believe is wanting to go through the claim and wifi setup. How can I get the Argon to just start using the code shown above without trying to do this?

You don’t need to flash that code anymore.
For quite some time now there is a CLI command particle usb setup-done that does just that.
But the setup-done flag is not the only reason for the blinking blue. The other factor is the lack of stored WiFi credentials. That’s no problem either as you can provide some (dummy) WiFi credentials via particle serial wifi.

However, when your devices are expected to not even attempt to connect you will still need some firmware that enforces non-AUTOMATIC mode.

Awesome, that all worked, thanks @ScruffR

1 Like