Device OS 1.5.2 Memory Use

I was doing some regression testing of an application built on 1.5.2 - the wifi setup using SoftAP didn’t work because the memory was too low. Checking the vitals I noticed that 50kB was in use out of 81kB RAM available. I tried rebuilding the same application on 1.4.4 and the vitals now show 39kB in use. That’s a big jump in OS RAM usage - have I missed something in the release notes about this?

We are aware of the issue and engineering is discussing next steps.


Was having similar isssues as @armor.

My solution? Dropped use of SoftAp altogether!

1 Like

I’m in the same boat, however dropping softAP is not an option.
Where did all the RAM go?

DeviceOS 2.0, our LTS release will address increased RAM usage - initial reports indicate a sizeable reduction per thread.

1 Like

@no1089, see my last post to you.

Really looking forward to a reduction in memory use in DeviceOS 2.0 as it should fix a lot of problems…


I am taking this feedback after more than a month as a health warning on OS 1.5.2 that there is a memory usage jump - it would nice if the release notes could be updated to indicate this?

Why wasn’t this increased RAM usage not picked up in Particle’s OS release regression testing?

Could your VP Engineering explain this please?

When will we need to wait for Device OS 2.0 and can you please provide assurance that this will have been thoroughly tested before release.

I’m not saying a jump in memory use has been detected, other than the reports of SoftAP using more RAM than before.

What I am saying is that work for LTS has resulted in a reduction in RAM usage per thread.
DeviceOS 2.0 should be out at the end of Q3 and wil be tested thoroughly.

Yeah, I’m completely blocked out of using 1.5 for our devices. SoftAP no longer works and the device just crashes when assigning Wi-Fi, and it’s another huge hit to available RAM even when our firmware is just running normally. Insane.

@polystyrene, Even though I am complaining about the memory usage on 1.5.2, DeviceOS is working fine.

Sounds like you are really close to the limit wrt to heap memory usage. It is a prudent exercise to add debug to output the memory usage if you haven’t done so already.

No doubt you have fully reviewed your code to minimise memory as much as possible. I have gone to the effort of using retained memory (which is 3068 bytes) which would not be used unless you specified it in the declaration.

The following is a must read:

1 Like

Yeah, we’ve really just outgrown what’s feasible for the resources available. It’s been a years-long issue for us I won’t get into here. That said, we’ve continued to make it work for now, and generally things run fine. But when a new Device OS comes out and our device reports 12KB less free memory after upgrading, for the same user firmware, that causes us a lot of headache. The same thing happened with 0.7.0.

Yep, that 12KB hurts! Let’s see how DeviceOS 2.0 goes…