Spark v2 - Reboot loop

Ok, so I’ve spent the last 2 days reading LOTS of posts on this forum and have made some small progress. Thank you to the community fo sharing the info!

I acquired a second hand Spark v2 in a semi-dead state. Powering the unit on via USB or DC resulted in a white screen. From here I’ve managed to reset the Photon, connect it to wifi, claim the unit in a particle account, flash the bootloader using the web IDE to v1.3.1 and the use the particle CLI to push an OTA firmware update to brewpi v0.5.10. This has all resulted in the Spark v2 now beeping at boot up and showing the raspberry logo in the LCD plus the firmware version (0.5.10). Thats pretty much it, it then just stays in a reboot loop every few mins.

During many of the troubleshooting steps I’ve come to the conclusion that the Photon USB port is either damaged, dead or there is a firmware issue. Putting the photon is DFU mode results in no system seeing a device attached (PC / Win10, Mac, Raspbian), leaving the photon in ‘normal mode’ no system is able to see a USB device attached (have tried many USB cables).

So Im asking if anyone is able to please help me with the next steps? I can get access to the photon over wifi when not running the Spark app (just os firmware - hold down setup for 10 seconds). I can not get access over USB so am unable to discover the Spark in the BrewPi software or apply any other particle CLI / serial commands.

Im wondering, is the photon unit faulty and should I replace? Is the Spark faulty so is replacing the photon pointless? or is this all firmware / bootloader version compatibility issues?

Many thanks

How are you checking whether your OS “sees” an attached device?

When connected to Raspbian, could you please post the results of running lsusb, both in normal mode, and with DFU active?

Hi @Bob_Steers, thanks for your response.

  • In Windows 10, I tried with the manual driver install, without the drivers and also with the Particle CLI installed.
  • In OSX I’ve looked in About this Mac > System Report > USB.
  • In Raspbian Im using the lsusb command.

I’ve tried each of these in DFU mode and in ‘normal’ (white status light) mode. The devices never shows on USB. With the device in DFU mode, I tried the DFU list (sudo ./dfu-util -l) - this doesnt down anything on Raspbian or Windows (Particle CLI).

Results of lsusb on Pi are the same regardless of mode;

brewpi@BrewPi : ~ $ lsusb

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The weird thing is I don’t see any visual damage of the USB port continuity test seem to show the pins of the USB are live to the board.

Unsurprisingly, I can confirm that your Spark is not in the list. VID:PID for a photon in normal operation is 2b04:c006, and 2b04:d006 in DFU mode. Issues with the USB pins are not uncommon. The Spark v3 was partially designed to fix these.

I’m afraid that for in-depth hardware debugging you’ll need @Elco.

In the meantime, you could try to install the BrewBlox firmware for comparison, and hopefully some diagnostics. You can find the binaries at After installation, open a socket connection to the Spark at port 8332, and send a newline.

It should return a plaintext handshake message that includes reboot reason.

Thanks @Bob_Steers, I’ll give the BrewBlox firmware a go to see if I can progress this further with regards to the reboot loop.

Realistically if I can get the device to boot up and join WiFi, it prob won’t need the USB for any data connectivity as WiFi would be preferred. Fingers x’d the device is able to be recovered to a usable state.

Another option is to install a new photon in the Spark. The module is swappable and costs 19 USD if I remember correctly.

Thanks @Elco another Photon is already en-route :slight_smile:

@Elco - New Photon received, programmed up through USB, connected to Spark, online for an hour… Then Photon died! Waiting on RMA!

Meanwhile, found another USB cable I had not tried with Photon… (had tried 5 others which work with tablets, smart phones, USB IR receiver, USB hdd, but not Photon) and what do you know, original photon appeared on USB. So this is now up and running with Brewblox! :sunglasses:

Question for @Bob_Steers - I have a OneWire temp sensor with RJ12 connector into one of the Spark ports, during setup it did not find this sensor, when trying to ‘Discover new OneWire Blocks’ the sensor is not found. If I add manually, how can I find the address? Full disclosure, Im not sure of the temp sensor works… unsure how to test. I have had multimeter connected… with 5v & Gnd, it measures millivolts between Gnd & data…

The discovery routine checks for new devices on the OneWire bus. If it isn’t seen there, it also won’t have a bus address you can manually add.

I’ll have to refer you to Elco for troubleshooting the hardware: my area of expertise is software running on the Pi.

1 Like

If it isn’t discovered, it will not work if added manually either.
Millivolts between ground and data sounds wrong if connected, because the master pulls up the bus.
If the sensor is continuously pulling it down, it is probably broken.