hi, i flashed this software [1] and connected a button and the BME280.
now it seems like i somehow bricked my device…
its blinking red 10 times and then 1 time red.
i tried it with
[oli@localhost key2grow]$ particle flash argon tinker
attempting to flash firmware to your device argon
Flash device OK: Update started
Flash success!
which prints a wrong success because it just did nothing (or at least the situation did not change).
i also tried
[oli@localhost key2grow]$ particle usb dfu
IN control transfer failed: LIBUSB_TRANSFER_TIMED_OUT
is there any way to recover the device? i would highly not want to reset it as the registration process with the app of argon is not usable on my lineageos phone (the built in camera is unable to get a correct picture of the QR code)
any help is very appreciated
[1]
#include "Particle.h"
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
// Set up BME
#define BME_ADDRESS 0x76 // Use i2c_scanner to determine address
// define the pin for the led. (D7 is the PIN that is coupled with the on-board LED)
void setup();
void loop();
const int ledPin = D7;
// define the pin for the button
const int buttonPin = D5;
// the state of the push button.
int buttonState = HIGH; //not pressed
int start_when_button_was_pressed = 0;
Adafruit_BME280 bme;
float pres, temp, humid;
float temperature;
float humidity;
int button_pressed_time = 0;
// setup() runs once, when the device is first turned on.
void setup() {
// Start I2C
Wire.begin();
// set the pin mode for the button
pinMode(buttonPin, INPUT_PULLUP);
// set the pin mode for the LED
pinMode(ledPin, OUTPUT);
Particle.variable("temperature", String(temperature));
Particle.variable("humidity", String(humidity));
Particle.variable("button_pressed_time", button_pressed_time);
}
void loop() {
buttonState = digitalRead(buttonPin);
if(buttonState == HIGH) {
button_pressed_time = 0;
} else {
// turn the led on so the user can see that *something* happens
digitalWrite(ledPin, HIGH);
button_pressed_time += millis();
}
temperature = bme.readTemperature();
humidity = bme.readHumidity();
delay(1000);
}
I recently purchased some argons from a vendor other than Particle. I had trouble upgrading device os along with my firmware and was getting SOS 1 Red. I checked the forum and found a solution posting from @ScruffR (Thanks!):
So, I put my device in DFU mode and did the update. I reinstalled Tinker to make sure that was working OK. Then, was able to continue upgrading the device os and firmware without any more issues.
thats already not possible, the device goes instantly into SOS when i try to put it in DFU mode, what i also wrote in the first post
[oli@localhost ~]$ particle usb dfu -v
Getting device information...
Sending a command to the device...
IN control transfer failed: LIBUSB_TRANSFER_TIMED_OUT
VError: IN control transfer failed: LIBUSB_TRANSFER_TIMED_OUT
at wrapUsbError (/home/oli/.particle/node_modules/particle-cli/node_modules/particle-usb/lib/usb-device-node.js:42:10)
at Device.<anonymous> (/home/oli/.particle/node_modules/particle-cli/node_modules/particle-usb/lib/usb-device-node.js:110:25)
at Transfer.<anonymous> (/home/oli/.particle/node_modules/particle-cli/node_modules/usb/usb.js:131:15)
caused by: Error: LIBUSB_TRANSFER_TIMED_OUT
when i dont try to put it in DFU mode its blinking way longer and the LED turns from green to blue (blinking fast like if its connecting to wifi) but then also goes into SOS.
You wrote you did try via particle usb dfu but didn’t say whether you tried it the conventional way via the SETUP/MODE button.
You also didn’t tell us whether you used SETUP/MODE to wipe possibly corrupted, preexisting WiFi credentials.
Yes, you can (normally) use CLI to set WiFi credentials while the device is in Listening Mode (blinking blue): particle serial wifi and particle usb setup-done
particle serial wifi to set WiFi credentials (may need to enter LM again for that)
particle usb setup-done
If you cannot enter DFU Mode via the button either, you may have a corrupted bootloader and need to flash that via Listening Mode and particle flash --serial <bootloader.bin>
The required binary can be found here