# Flash Multiple Devices At Once Using Product ID / Binary

**URL:** <https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023>\
**Category:** Firmware\
**Created:** [June 15, 2024, 1:50am UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023 "2024-06-15T01:50:28Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![AustinIgein](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@AustinIgein](https://community.particle.io/u/AustinIgein)\
**Post date:** [June 15, 2024, 1:50am UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/1 "2024-06-15T01:50:28Z")

</div>

Hello,

I'm having a bit of trouble flashing multiple devices at once. I have created a product in Particle and now I'm looking to compile my project in workbench for this specific product.

I'd then like to upload this binary to the particle console where it says upload product firmware. After that step I'm looking to flash all devices the firmware at once.

Can anybody walk me through this process?

 ![Screenshot 2024-06-14 at 9.37.10 PM](https://us1.discourse-cdn.com/flex026/uploads/particle/original/3X/f/e/feba65295c4f7e3012e0c13c173d45f9eeb7d9a5.png)

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [June 15, 2024, 9:51am UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/2 "2024-06-15T09:51:10Z")

</div>

Complete that step to upload the firmware. The firmware must contain something like this, and the version number must match the form in the console.

```auto
PRODUCT_VERSION(10); 

```

A firmware version must be running on at least one device before releasing to your fleet. You can do this one of two ways:

- Mark a device as a developer device, claim it to your account, and flash it directly from Workbench. This is the recommended development flow.
- View your product device list, edit a single device, and lock the version of firmware on that device.

Once one device has come online with that version of the firmware, you can go back into the firmware tab and release version, either to all devices (product default) or a subset of devices (device group).

---

<div class="post-metadata">

**Author:** ![AustinIgein](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@AustinIgein](https://community.particle.io/u/AustinIgein)\
**Post date:** [June 15, 2024, 12:53pm UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/3 "2024-06-15T12:53:24Z")

</div>

> [@rickkas7](#):
>
> `PRODUCT_VERSION(10); `

This is very helpful ! Just a couple more questions.

Let’s say the product id is “12345”.

1. What would be the format for adding this to the line of code.

12345\_VERSION(10);  
Or  
PRODUCT(12345)\_VERSION(10);

1. In addition where is the recommended place to add this code?

2. Once this code above is added can we then do the regular steps

A. configure for a device ? select our target (5.0.1) , device type (BSOM) , deviceID (blank)  
B. then I would do a local particle compile to generate an updated binary ?

---

<div class="post-metadata">

**Author:** ![rickkas7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rickkas7/32/8681_2.png) [@rickkas7](https://community.particle.io/u/rickkas7)\
**Post date:** [June 15, 2024, 2:08pm UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/4 "2024-06-15T14:08:54Z")

</div>

There use to be a `PRODUCT_ID(12345)` macro, but it is no longer used in Device OS 4.0 or later.

If you are create a product for an Electron/E-Series, P1, or Photon 1, it would be:

```auto
PRODUCT_VERSION(10);
PRODUCT_ID(12345); // Device OS 3.x and earlier only!

```

The reason you don't set the product ID in the firmware anymore is because it's set when you add the device to the product in the console, so there's no reason to set it in both places.

You can do a local compile or a cloud compile to generate the binary. If you do a local compile, the binary will be in the target directory in your project (a few levels in). If you cloud compile, the .bin file will be at the top of your project, where the project.properties file is.

---

<div class="post-metadata">

**Author:** ![AustinIgein](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@AustinIgein](https://community.particle.io/u/AustinIgein)\
**Post date:** [June 15, 2024, 2:36pm UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/5 "2024-06-15T14:36:51Z")

</div>

That worked! Thank you Rickkas!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/particle/original/3X/3/2/3291e3c9351789fe8620ae5bcec8d3fec67ff221.png) [@system](https://community.particle.io/u/system)\
**Post date:** [July 16, 2024, 12:37am UTC](https://community.particle.io/t/flash-multiple-devices-at-once-using-product-id-binary/67023/6 "2024-07-16T00:37:45Z")

</div>

Closed on July 16, 2024, 12:37am UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
