Projects and processor types

I am developing two versions of an instrument using approximately <20 custom PCB’s fitted with either B542 or Photon2 processors. I have registered these and the web setup forces me to assign these to projects. I am not sure that this is a good idea while we are testing the individual boards but I can see it will be useful when the code is stable.

The code will be identical for both processor variants. A check of processor type will be used where there are processor specific actions.

I understood that a project can only involve one processor type but have been unable to find the reference. Is it possible to have a single project for a mix of systems using B542 or Photon2’s?

Apologies if I have missed it in the documentation - I am still getting my head around the rules and applications of projects.

Thanks
Bruce

A product can only have a single type of device, or more specifically, plaform. B524 and Photon 2 are different platforms so they need different products.

You can have a single project that builds for two different platforms out of the same code base. That's the way it's commonly done.

The reason is that Device OS varies depending on platform, and there are stubs that connect user firmware to Device OS that also depend on platform. You need to build a different firmware binary for each platform, even if the source code is the same.

The one platform per product limitation is because there is only a single firmware binary upload per version of firmware per product.

Thanks @rickkas7 for clarifying the subtle difference between products and projects. I will continue to pursue that approach although I am not sure that during the initial testing of the boards I would not be better off just having them in a personal sandbox. Time will tell.

Definitely start with a product, but mark the devices as development devices.

If you start with a developer sandbox, you can run into problems such as:

  • API endpoints change if you are using the cloud API. If you start with a product, they stay the same through basic, plus, and enterprise.
  • Sandbox integrations only work with devices claimed to your own account. Product integrations continue to work the same to enterprise and allow you to use unclaimed product devices (recommended).
  • Much easier to deploy to multiple devices for testing with a product.
  • If you use sleep modes, products are the only way to easily flash a device that is sleeping.
  • Products can be moved from sandbox to basic, plus, and enterprise with zero downtime. If you start with developer sandbox, you need to create and change to a product to move to higher tiers.