Multiple wakeup pins - RI_UC and EXTI

Is there an update for this topic? I’ve read threads from as far back as 2015, the most recent ones are inconclusive. I want to wake up an Electron with an SMS or interrupt pin.

Basically, it’s an asset tracker that I want to check in on remotely but when the device is powered up or moves, I want to know about it. I’m using an ADXL362 sensor OR’d with a signal from the 3.3v power supply. I’m open to hardware ideas at this point, the PCB is not finalized so things can change.

I’ve read that it should wake up from any EXTI, but that is not the case. Only the interrupt pin specified in sleep does the job.

I’ve tried the WK pin in sleep mode, thinking it was a default wake pin at the hardware level, but it doesn’t wake the Electron from sleep when it’s not the one specified in sleep(). Am I missing something here?

I have already reduced two possible EXTI’s on my PCB into one, but the problem now is that I can’t do the same with the ring indicator, since I understand it’s not accessible or I would just solder a jumper.

@mdma had a post saying it was in the works, but I can’t find any updates since that post.

Thanks everybody! This is the last hurdle for my project.

Looks like there is a issue with this currently:

If it worked at one time, is there a way to flash the older firmware?

Yes, you can choose which firmware you flash.

See the screenshot of the Particle Build IDE, it goes back to 4.0.1 or something.

This statement of mdma was a guess (quote: “I think it’s sufficient …”) but I doubt it ever worked and if you go to the end of the thread linked above, you’ll see a GitHub issue link which states this is only milestoned for 0.8.0.
Although I doubt it’s in 0.8.0-rc.1 already, you may still try it and also have a look at the samples provided here.
If this isn’t incorporated in 0.8.0-rc.1 yet, you can try to locally build the develop branch of the system firmware, since that should already have the feature added.

When I change the System firmware target, the firmware on the device is always listed as 0.6.4.
Just changing the target to anything higher puts it in safe mode. When I change the target to anything lower, it flashes fine but still lists the current firmware as 0.6.4. I’ll look around and try to figure it out.

You’re trying to update the Electron right?

Can you use the CLI software to try to identify the firmware on the Electron via a USB connection? Sometimes it takes a min for the Electron Firmware to update in via the Build IDE.

Flashing the older Firmware via the CLI in DFU mode via a USB connection will keep you from flashing that data over the air and running up your data usage.

I’ve been trying all day to get the toolchain working to compile the firmware. I can’t seem to find a thread with instructions that actually work. I’ve tried the installer, manual install, everything. I’ve set environment variables to exactly what each guide says, but it never works properly. Commands not found, despite falling down a rabbit hole to find solutions for each message.

Is there a recent toolchain installer that just works? I get errors with this:

The installer fails at netbeans it seems, it’s an unresolved issue.

Is it possible to find it already built somewhere for the electron? I can’t figure this out. I’m tired of downloading programs from here and sourceforge.

I managed to get something to compile, but I can’t find anything telling me what to do after you compile it locally. I have this:

I have found the build>target>main>platform-0-lto folder, but don’t know what do do with it now. It doesn’t match any of the other threads I’ve found, is this the compiled firmware?

An Electron’s system firmware is never updated by the Web IDE.

Flashing an application firmware with a target < system version the device will never be downgraded to an older system version. But for application > system, you need the system upgraded before the application can run - as said on Electrons that won’t happen automatically.

I don’t know of any toolchain installers, but this might be some incentive for @rickkas7 (or other Particle folk) to provide some up-to-date instructions.
The only thing, when you find a platform-0 output I guess you didn’t provide the target platform in the build command. Platform 0 is the old Spark Core, for the Electron it would be 10.

What I was referring to was the firmware version identification that is displayed in the WebIDE for each registered Electron. As you know it does not instantly update after the new firmware is loaded to an Electron via the CLI or Particle DEV software.

As far as I know, the official FAQ instructions are still correct and work properly. If not, let me know and I’ll fix them.

Once you get the base command line build working, take a look at the Eclipse instructions. It’s only a little bit different to get it to work with NetBeans. The setup screens are different, of course, but you need to set up basically the same things on both.

But definitely get the command line build working first. If you’re getting a build in platform-0 you’re missing the option for PLATFORM=electron in your make command.

1 Like