Gen 3 improvements update - 12/17

Hello Particle community!

We recently shipped a new version of Gen 3 firmware, v080-rc.26, which contained fixes for some of the most disruptive and urgent issues impacting the usage of our Gen 3 hardware. With that release behind us, I wanted to take the time to provide some visibility on next steps for our engineering team.

My aim is to provide an update like this one as often as possible in order to put into practice one of our most important company values, openness. To that end, if you have feedback on this update or the content in it, I encourage you to reply to this post.

Let’s get into it!


Where we’re at today

Over the last couple of weeks, our internal engineering team has been working with individuals in the community to resolve what quickly emerged as the most disruptive issues preventing the use of our Gen 3 hardware as expected.

There are three very important messages that I’d like to make a point to share with you all:

  1. The getting started experience for too many of you was not to our standards. Particle prides itself on making what would otherwise be complicated and frustrating development flows delightfully simple. Our goal is to help customers focus on what they’re building, instead of futzing around with configuration of the tools and technologies that make it possible.

    Although we tested our new mobile-based development flows on a variety of devices and routers, it became clear to us after shipping that the breadth of that testing was not sufficient to reveal the degraded performance on various Android devices and IPv6-enabled networks. This prevented some customers from being able to configure and use their newly-purchased hardware for the first time, which sucks.

  2. We’re deeply appreciative of your feedback. Part of what has allowed us to understand and resolve some of the most disruptive issues affecting customers is the willingness of our community to participate with device testing, in-depth debugging, and issue logging. We do not take this engagement for granted, and are deeply appreciative to have such a fantastic and impressive community of users.

  3. We’re committed to making our 3rd Generation of hardware the best yet. In light of the statement above, I want to make it explicitly clear that we are committed to improving the development experience with Gen 3 hardware until it meets, then exceeds the development experience of the Photon and Electron. We view the unified form factor, Bluetooth-based setup process, onboard JTAG header (for development/Debugging with Workbench), and standardized networking architecture as key features that will advance the quality and stability of the Particle development experience beyond what was previously possible.

At the end of last week we released v080-rc.26 which represented our first major effort to address the highest impact issues with our out-of-box firmware experience with rc.25. The new release, rc.26, addresses the following issues:

  • Resolved issue preventing customers from scanning Xenon devices
  • Improved reliability of OpenThread mesh networking
  • Improved wireless transmission range between Gen 3 devices over mesh
  • Improved Bluetooth compatibility with Android devices
  • Improved compatibility with IPv6 enabled networks

For more information on that fix and how to upgrade, click here.


Next steps

I also want to take the time as a part of this update to share the issues our team is currently focused on.

Setup experience

Ensuring that customers can successfully setup and claim their new hardware is our #1 priority. In addition to the features we’ve already shipped via mobile updates for iOS/Android and rc.26, the following is a list of areas we’re investigating to further improve the setup experience:

  • We recently shipped iOS and Android builds with debug logging to simplify and streamline collection of device logs

  • We’re improving auto-focus for data matrix scanning which has proved an issue on older phones

  • We’ve started an overhaul of the iOS internal UI layer to add support for “back” button functionality to avoid needing to restart the device setup process in the event of a mistake.

  • Our product and engineering team is starting the work to build out a parallel setup flow powered by the Particle CLI, which should make it possible for users to configure devices over the wire if they are unable to do so with a mobile device. This will not be possible to deliver before sometime in Q1, but is at the top of our priority list.

Network reliability and performance

  • We’ve successfully identified and confirmed a sneaky bug in Nordic’s 802.15.4 driver and are working closely with Nordic to find a fix. We believe that this is the source of the SOS 7 / Panic bug that users have been reporting in the community.

  • We’re planning on upgrading to the most recent version of OpenThread, which includes some minor fixes and improvements that we believe will improve the quality and reliability of interactions between devices on Particle Mesh networks.

Debugging and diagnostics

  • We’re working on porting the Cellular.command() API to Gen 3 devices as a tool to help debug cellular issues with tools like our Cellular Helper firmware and simplify the setup of third-party SIM cards

  • We’ve begun spec’ing out an API to expose Mesh-level network diagnostic information like topology that’s currently available via OpenThread, but doing so in a thread-safe and Wiring-friendly way. This will make it easier for us to diagnose stability issues caused by device networking roles within the Mesh network (gateway vs. repeater vs. endpoint).

Feature-parity with Gen 2 hardware

  • In parallel to the development priorities listed above, we’re on the lookout for regressions in Device OS APIs, firmware libraries, and development tools between Gen 2 and Gen 3 hardware. We’re compiling a list of known limitations here – let us know if there are others we should add to our development backlog.

Feedback

If you are willing, please help by sharing your feedback about our 3rd Generation of hardware. We hope to continue to ask these questions after each major update, ensuring that our efforts are being focused in the areas where we can provide the greatest impact.

Did rc.26 improve your development experience with Particle Gen 3 hardware?

  • Yes
  • No
  • I haven’t tried the update yet

0 voters

On a scale of 1-10, how would you rate the overall quality of the Gen 3 development experience with rc.26?

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

0 voters

Have more specific feedback? Leave us a note below.

12 Likes

Can set up one Xenon but not the other. It’s stuck in “pairing with xenon”. I have updated to 26. Restarted my phone, uninstalled the app and reinstalled, Tried rc.25 again. I’ve set up an Argon and Xenon with no issues. It’s just this one Xenon.

Have you already opened a support ticket with our team? We’ll want to collect information about the mobile device you’re using so we can attempt to reproduce and help diagnose the issue.

Otherwise, if you would prefer to troubleshoot on the community, please create another thread (so we can do a deep dive) and feel free to tag myself (@will) and our Technical Support team (@ParticleD and @mstanley) into the conversation.

Yup I opened a ticket yesterday and no response yet. I’ll make a thread.

Just first blush – I’m trying blink on an Argon and an attached Xenon. My mesh network did connect, but only once in a while for a little while. I tried for hours, then let it sit for more hours just watching the lights show mesh usually down. My notes from 27 Nov say “I’m guessing Particle mesh isn’t ready to use yet. I’m putting it on a shelf.”

I saw your post about rc.26 and decided to give it another go and this time, once it got rc.26 on both devices, it’s running fine. I’ve loaded different blink copies changing only blink rates and every new copy loads and runs.

Not an exhaustive test, but it seems usable where it was NOT before. Good work!

Now how about Windows 7 65-bit driver support? Windows 10’s only good thing is that it isn’t Windows 8.

4 Likes

One Xenon stuck in listening mode (was previously setup OK), but appears to not respond. Other Xenon’s working properly.

Hey jmeckstroth,

That’s odd, it sounds like there may have been some storage corruption of credentials, perhaps. Are you able to go through the setup process again? It should be okay to go through it again even over a previous configuration.

Hey JEDToo,

We've acknowledged some known issues with mesh devices and Windows. We are hoping to build something into the CLI in the future, but for now, Rick has made a helpful post on some ways to work around this.

mstanley, you need to read the WHOLE message. I talked about my problems BEFORE rc.26 and said “it seems usable where it was NOT before. Good work!”

That is the gist of that message, and I’ll repeat it - GOOD WORK!

I was saying how my former problems were all FIXED by your new firmware and my only remaining problem was lack of windows 7 64 bit drivers. Since downloading through mesh was now reliable that isn’t as much of a problem.

Merry Christmas to everyone!

2 Likes

A post was merged into an existing topic: Boron rc.26 in Workbench?

Hey @JEDtoo Sorry if my message was unclear. I was not addressing your pre-rc26 problems. I understood that they were resolved. I was specifically referencing your continued issues with Mesh devices being plugged into Windows machines.

Rick’s quoted post is in response to a topic called Trouble flashing firmware to Boron over USB, but his post’s application is general driver management for Windows devices using Zadig, which may apply to your scenario as well.

Hopefully this clarifies things a bit!

2 Likes

Hi Matthew, Thx for the prompt reply!. At this point, the one Xenon will not let me switch modes. While indication of being in LISTENING mode, the app does not see the device. It will not switch to DFU mode either to allow USB direct connection.

@jmeckstroth That’s very strange. When you attempt to put it into DFU mode, what does (or doesn’t it) do? Is the button combination able to reset it, or are the MODE and RESET buttons unresponsive?

@mstanley Matthew, using the MODE and RESET press/tap sequences causes the LED status color to change, but the specific device will not stay in the flashing Yellow mode. I recall this occurs with a USB2 port cable connection.

Would it be possible to take a quick video of the attempt? That way we can see the sequence, which is way more descriptive than trying to write it out?

1 Like

@mstanley @Moors7 Problem solved. My Xenon seemed to have lost all of its initialization, so I suspect in MODE selecting it was likely “operator error” causing full reset of all settings? In any event, I was able to start from scratch and use the IOS app to setup the Xenon again, giving it the same device name and network credentials and all seems fine. Updating to “.27” OS worked. Thank-you much for such prompt guidance and responsiveness!

5 Likes

Closing this topic as v0.8.0-rc.27 has now been released. Subsequent update is availab here:

2 Likes