Xenon having SPI peripheral issues

I’m having issues with an SPI peripheral display with one of my Xenons… Trying to use an E-Paper display and GPS that worked fine with the Photon. With or without the GPS alone the Xenon can get connected and stay connected for up to about 5 minutes before things get shaky. As soon as the SPI display is introduced I get about 30 seconds max before I’m getting a rapid green flash. If I reset via the button, I get a single green flash - slow flashing cyan - 3 yellow flashes - slow flashing cyan - 3 yellow flashes (no I’m not trying to put it into DFU mode).

In going down the troubleshooting list I like to use, cleaning excess flux from around the pins is one step.

As I don’t know what is under the RF shield and don’t want to experiment completely blind… What is the Particle recommended proceedure to washing off the large amount of excess flux on the pins of all the mesh devices?

I am 99% sure that excess flux is not what’s causing your issue. I have built many things over the years, and not once have I ever cleaned flux from the boards’ backsides, and I’ve never had something get wonky over time due to that.

I’m wondering if the E-paper display’s library has something that needs to be updated, perhaps w.r.t. timing. What display/library are you using? How do you have the GPS and display connected?

GPS is connected to RX-TX, using the TinyGPS++ lib. E-paper is connected using SPI, using WaveshareEPaper29 lib. Physical connections are wire wrap on chip socket on the Xenon/Photon side, JST ZE-series on the display and GPS side (with about 5-10" of wire).

The devices work fine off-line. The RGB led goes flashing green within 30 seconds when using any SPI or I2C device I’ve tried so far (things like ADC’s, IO expanders, etc). I remove the devices, either by remove the Xenon from the socket or pulling the connector, and the mesh stays up for about 5 minutes. I have yet to keep a Argon-Xenon mesh up more than 25 minutes straight.

Issue has nothing to do with the peripherals. Faulty release firmware doesn’t like the IP network conditions here and is the culprit.

Also I’ve run into quite a few issues in the past that were caused by flux. Few assembled boards these days come unwashed for a reason.

@JackANSI, I had issues with the Argon-as-a-gateway in that it kept dropping the mesh, especially after an OTA to the Argon or to a mesh device. I now have a Xenon/Ethernet gateway and Xenon nodes running reliably. One Xenon has a Waveshare 2.9b display connected to it.

Yeah I bone-headedly skipped the parts to do ethernet when I ordered.

I got things sort-of working with this. The passing of data using Mesh.subscribe and Mesh.publish seem to work a bit differently than the “Particle.” equivalents. I also was a bit too ambitious with how much data can be passed on a particle mesh. 80 bytes every 10 seconds overwhelms the ability of the mesh network to do much of anything else and back to back “.publish” is right out.

Much like the first Cores and Photons time was kind and they matured well enough and eventually were usable. I’ll probably pack these away, continue using raw nRF52’s, and revisit in a year or so to see where they are.

1 Like