# Particle Photon for Consumer Product

**URL:** <https://community.particle.io/t/particle-photon-for-consumer-product/42928>\
**Category:** General\
**Created:** [July 10, 2018, 8:10am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928 "2018-07-10T08:10:50Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Salmanfarisvp](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/salmanfarisvp/32/17785_2.png) [@Salmanfarisvp](https://community.particle.io/u/Salmanfarisvp)\
**Post date:** [July 10, 2018, 8:10am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/1 "2018-07-10T08:10:50Z")

</div>

Hi, I did prototype using **esp8266** SoC now moving to **Production** , Currently we are facing some issues while using esp , like connectivity issue , data is not sending to server … etc . so we are afraid of putting esp in to mass production for building end-product .so as of now we are looking Stable , reliable wifi MCU so that’s why ended up here . I really liked **Photon** hardware selection , \*\*cypress wifi with **STM32** Processor .  
So My question is

- How many are used Photon in End-product (mass production ) how reliable is (please list some consumer products)
- Would like to know the **firmware development** cycle .
-

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [July 10, 2018, 10:01am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/2 "2018-07-10T10:01:39Z")

</div>

Some basic figures can be found here

> **[What is Particle?](https://www.particle.io/what-is-particle/)**
>
> Learn how Particle provides the hardware, software, connectivity, and domain expertise you need to build an IoT product.

And somewhere there is also a list of professional products based on Particle devices.

Just a few I found

- [https://www.particle.io/customers-case-studies](https://www.particle.io/customers-case-studies)
- [https://www.osbeehives.com/](https://www.osbeehives.com/)

---

<div class="post-metadata">

**Author:** ![armor](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/armor/32/18398_2.png) [@armor](https://community.particle.io/u/armor)\
**Post date:** [July 10, 2018, 10:33am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/3 "2018-07-10T10:33:22Z")

</div>

If you have developed a prototype on a ESP8266 SoC then you can probably think about using a P1. The main issue for consumer products is the requirement for certification for radio emissions (EMR) - you get this if you use the P1 because it contains an antenna and is already certified. Not sure what else your product does but maybe you can avoid needing to spend on lab testing. There are various links to using P1 on the community and a good example is: [https://www.sparkfun.com/products/13321](https://www.sparkfun.com/products/13321)

Alternatively, use the photon and that removes issues with the power supply as it will work off most 5V adaptors. It is larger and more expensive - but quicker to get a full prototype working. I currently have about 500 devices out in the wild (all photons) but looking at P1 and the new mesh devices when they arrive (soon hopefully). The Console and device management software are really things you need once you have more than a handful of ‘things’ working. Most of the processes (wifi setup, claiming) have been solved and you can draw on the experience of the community - people like @Scruffr who has never not been able to solve an issue I have had!

---

<div class="post-metadata">

**Author:** ![Salmanfarisvp](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/salmanfarisvp/32/17785_2.png) [@Salmanfarisvp](https://community.particle.io/u/Salmanfarisvp)\
**Post date:** [July 10, 2018, 10:53am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/4 "2018-07-10T10:53:07Z")

</div>

@ScruffR@armor Thanks for the awesome replay .can you please the explain the process of building firmware (which language should be used for mass production/better reliability ) and how we can setup the device claiming process . or please share particle doc for this.

Thank You

---

<div class="post-metadata">

**Author:** ![armor](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/armor/32/18398_2.png) [@armor](https://community.particle.io/u/armor)\
**Post date:** [July 10, 2018, 11:06am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/5 "2018-07-10T11:06:32Z")

</div>

From my experience the quickest and easiest route is to use the webIDE, there is no difference between a prototype software development language and production. The programming is in arduino like wiring which is C/C++ with a specific structure setup() function - performed once at power on and loop() function - performed thereafter. The source is compiled on the cloud into a binary that can then be flashed OTA to devices or downloaded via USB connection (with photon). Initially, you can claim devices using the webIDE or CLI. Your production claim process will depend upon the customer model. I don’t allow customers to claim devices, they use a webApp to interact with the Particle Cloud and do not see any of the authorisation processes. The Console (now) has lots of tools to help manage software versions and automatic OTA updates to the latest released version. Your first step is to buy a photon and open an account with particle cloud and get experimenting.

---

<div class="post-metadata">

**Author:** ![ScruffR](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/scruffr/32/6952_2.png) [@ScruffR](https://community.particle.io/u/ScruffR)\
**Post date:** [July 10, 2018, 11:39am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/6 "2018-07-10T11:39:34Z")

</div>

Addtionally to @armor’s description, you can also build the entire firmware (application and Device OS) locally with a standard STM32 gcc toolchain and even tweak things in the open source system firmware.

---

<div class="post-metadata">

**Author:** ![Salmanfarisvp](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/salmanfarisvp/32/17785_2.png) [@Salmanfarisvp](https://community.particle.io/u/Salmanfarisvp)\
**Post date:** [July 10, 2018, 12:34pm UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/7 "2018-07-10T12:34:15Z")

</div>

Thanks for the details , So what about the Device Provisioning ,Is there any tool in particle .

---

<div class="post-metadata">

**Author:** ![armor](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/armor/32/18398_2.png) [@armor](https://community.particle.io/u/armor)\
**Post date:** [July 10, 2018, 12:52pm UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/8 "2018-07-10T12:52:38Z")

</div>

Not sure what you include in ‘provisioning’. My factory process is as follows:

1. photon is put in dfu-util mode and loaded with system firmware (2 parts) for the app firmware version and tinker with CLI
2. from CLI using a team user account Particle Setup is run - this claims to the account and allow connection to wifi and at the end device naming - device name is set to the product serial number
3. photon is put in dfu-util mode and loaded with application firmware - this is ‘product’ API enabled
4. device is now a ‘product’ it shows in the Console and also in the factory web app where they assign it to the customer account (the device may be assigned to an “under test” account or “not assigned” which happens if building to stock rather than order).

---

<div class="post-metadata">

**Author:** ![Viscacha](https://avatars.discourse-cdn.com/v4/letter/v/919ad9/32.png) [@Viscacha](https://community.particle.io/u/Viscacha)\
**Post date:** [July 10, 2018, 12:57pm UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/9 "2018-07-10T12:57:10Z")

</div>

You can read all about all of that in the docs, this guide may also be of interest [https://docs.particle.io/guide/how-to-build-a-product/intro/](https://docs.particle.io/guide/how-to-build-a-product/intro/).

Doesn’t hurt to log into the console and have a sniff around to get a “feeling” either [https://console.particle.io/](https://console.particle.io/)

Photon should be able to do just about anything you could do with the ESP, but with more management possibilities. To get close to that with an ESP you would need to use something like Zernyth (not that I’ve tried it personally).

---

<div class="post-metadata">

**Author:** ![GasGen](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/gasgen/32/17576_2.png) [@GasGen](https://community.particle.io/u/GasGen)\
**Post date:** [July 10, 2018, 4:37pm UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/10 "2018-07-10T16:37:03Z")

</div>

I am going to add @RWB to this thread as I think he may be able to add some insight on how to also add visual monitoring to your client’s devices.

---

<div class="post-metadata">

**Author:** ![Salmanfarisvp](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/salmanfarisvp/32/17785_2.png) [@Salmanfarisvp](https://community.particle.io/u/Salmanfarisvp)\
**Post date:** [July 12, 2018, 6:07am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/11 "2018-07-12T06:07:58Z")

</div>

Thanks for the suggestions guys , so which one you are suggesting to build the firmware , is that good i use wiring Arduino code for the particle or should i use C/C++.

---

<div class="post-metadata">

**Author:** ![Moors7](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/moors7/32/588_2.png) [@Moors7](https://community.particle.io/u/Moors7)\
**Post date:** [July 12, 2018, 6:44am UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/12 "2018-07-12T06:44:18Z")

</div>

There’s no choosing. The Particle ecosystem uses an Arduino-like language, but is basically c/c++. So with that in mind, I guess “both”… Have a look at the docs, and the libraries (and their examples) in the Web IDE to get a feel for how the code looks.

---

<div class="post-metadata">

**Author:** ![AlbertZeroK](https://avatars.discourse-cdn.com/v4/letter/a/7feea3/32.png) [@AlbertZeroK](https://community.particle.io/u/AlbertZeroK)\
**Post date:** [July 12, 2018, 4:39pm UTC](https://community.particle.io/t/particle-photon-for-consumer-product/42928/13 "2018-07-12T16:39:24Z")

</div>

I’m curious if you’re having range/rf/interference or server issues, both may not be fixed by changing to a different device. Also, I’d be worried if you have issues with the ESP, the code (or programmer) may be the issue. I’ve had ESP devices in service for years without issue, although ESP devices likely have a lower reliability issues.

I’m an SRE, so would caution, changing the device may not resolve your issues. Not that I don’t love the particle devices, I do, just don’t want to miss lead you.
