# Photon/Core philosophy (Particle vs. Arduino)

**URL:** <https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124>\
**Category:** General\
**Created:** [January 15, 2016, 4:28pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124 "2016-01-15T16:28:31Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![poseid](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/poseid/32/5601_2.png) [@poseid](https://community.particle.io/u/poseid)\
**Post date:** [January 15, 2016, 4:28pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/1 "2016-01-15T16:28:31Z")

</div>

Hi,

I would like to better understand the boards from [Particle.io](http://Particle.io) . From what I saw, the boards come with ARM Cortex M core and a Wifi chip and a kind of RTOS to manage connectivity ?

However, I am a bit confused where Arduino sketches fit in, and if/why it’s rather hard to use the board as Arduino compatible clone with Wifi.

Background is that I am working on book “[Node.js for embedded systems](http://embeddednodejs.com/chapters.html)” - where I try to discuss low-level hardware, Node.js libs for hardware up to connecting hardware to cloud services.  
For this, I have experimented quite a lot with Arduino and SBCs (RPi, Galileo, Edison), but as a reader asked for discussion of the Photon, I am looking for help how/where to discuss this powerful board best.

Any help/support with this would be highly appreciated! Thank you!

---

<div class="post-metadata">

**Author:** ![zach](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/zach/32/20714_2.png) [@zach](https://community.particle.io/u/zach)\
**Post date:** [January 15, 2016, 5:19pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/2 "2016-01-15T17:19:40Z")

</div>

Hey @poseid, happy to help!

Our development kits (the Core, the Photon, and the Electron) are tools designed for people building hardware connected to the internet; the Core and Photon use Wi-Fi and the Electron uses a cellular connection (2G/3G).

These are internet-connected microcontroller development boards, and so far we’ve used STM32 MCUs (ARM Cortex M3), though that may not always be true for future boards. The boards are inexpensive and very powerful (when compared to 8-bit processors like an Arduino Uno).

Because the boards are designed solely for devices that are connected to the internet, our development experience also relies on that internet connection. Although you _can_ program them over USB, our tools are designed around over-the-air firmware updates. You can write firmware in our web IDE, [Particle Build](https://build.particle.io), or in our downloadable IDE, [Particle Dev](https://www.particle.io/dev), which is based on Github’s Atom project. You can also use our Command Line Interface to push software that you’ve written in another IDE (many people use other IDEs like Netbeans or Eclipse).

Our development boards come with a cloud-based messaging platform that lets you easily send messages to- and from- the devices in a secure way regardless of where you are. That platform is included for free.

Our platform is particularly well-suited for people who are developing products which they want to scale. If you’re building a prototype and down the road you want to make 10,000 or more, we sell hardware inexpensively at volume or we can pass you off to our semiconductor partners to get it even cheaper. We also sell our cloud platform to companies deploying IoT products, and it’s currently being used by hundreds of companies, from Fortune 500 OEMs to tiny start-ups.

When it comes to Arduino, we use Wiring, the same programming framework as Arduino, which we have ported to the STM32 microcontroller. Because of that, many Arduino libraries work out of the box on Particle, although some require porting (since our hardware is a different architecture). There are hundreds of libraries that have already been ported to Particle by the community, and those can be accessed through [Build](https://build.particle.io), our web IDE.

That said, Particle is not a completely Arduino-compatible product; you can’t (yet) use the Arduino IDE, and our products have a different footprint. Our original Kickstarter campaign for the Spark Core did call it “Arduino Compatible”, but that’s a confusing way to describe it, because “Arduino Compatible” means different things to different people. Since then we now communicate our development experience as “Arduino-like”. If you’re familiar with Arduino, it’s very easy to transition to Particle, but it is a different experience with different tools that are specifically designed for internet connectivity.

Over time we’d like to increase our compatibility and portability with the Arduino ecosystem, and we’re working on making our libraries work with the Arduino library spec (which didn’t exist when we launched). But for today, the best way to describe Particle is “similar to Arduino but different, and specifically designed for developing internet-connected hardware”.

Hope that helps!  
Z

---

<div class="post-metadata">

**Author:** ![zach](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/zach/32/20714_2.png) [@zach](https://community.particle.io/u/zach)\
**Post date:** [January 15, 2016, 5:21pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/3 "2016-01-15T17:21:27Z")

</div>

Also I changed the title of the thread to make it more searchable, hope that’s okay!

---

<div class="post-metadata">

**Author:** ![zach](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/zach/32/20714_2.png) [@zach](https://community.particle.io/u/zach)\
**Post date:** [January 15, 2016, 5:30pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/4 "2016-01-15T17:30:57Z")

</div>

Oh, one last thing. Since you’re writing on Node.js, we have a Javascript library for communicating with Spark/Particle devices using our APIs:

[https://docs.particle.io/reference/javascript/](https://docs.particle.io/reference/javascript/)

---

<div class="post-metadata">

**Author:** ![poseid](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/poseid/32/5601_2.png) [@poseid](https://community.particle.io/u/poseid)\
**Post date:** [January 15, 2016, 9:09pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/5 "2016-01-15T21:09:32Z")

</div>

Thanks! That is a very helpful overview. It fits perfectly in the line of my chapter on MCUs. Indeed, an ATMega328 has rather limited processing capacity when it comes to networking. I now understand much better the focus of Particle!

By the way, initially, networking and connectivity was not so much the focus of the book. But it turns out that JavaScript is a good fit for IoT projects too (IMHO). So, 6-7 from 10 book chapters now touch networks in some way or another.

I find FreeRTOS usage another interesting aspect of Particle boards. I played a bit with Nuttx in the context of IOT.js; but it still in development. Another interesting development are boards with ESP8266 - but also there the toolchain feels a bit rough.

---

<div class="post-metadata">

**Author:** ![poseid](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/poseid/32/5601_2.png) [@poseid](https://community.particle.io/u/poseid)\
**Post date:** [January 15, 2016, 9:44pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/6 "2016-01-15T21:44:39Z")

</div>

Hmm… probably, “Internet Connected Microcontrollers” is a book chapter on its own. Let’s see what I can do.

---

<div class="post-metadata">

**Author:** ![peekay123](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/peekay123/32/810_2.png) [@peekay123](https://community.particle.io/u/peekay123)\
**Post date:** [January 15, 2016, 10:09pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/7 "2016-01-15T22:09:34Z")

</div>

@poseid, the Digitstump Oak, based on ESP8266, will be joining the Particle ecosystem soon as will the Red Bear Duo and the bluetooth BLuz. The IoT space is quite “wide”. 😀

---

<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:** [January 15, 2016, 10:48pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/8 "2016-01-15T22:48:08Z")

</div>

> [@poseid](#):
>
> probably, "Internet Connected Microcontrollers" is a book chapter on its own.

More like a category of its own nowadays, and it'll only get bigger with time 😉

---

<div class="post-metadata">

**Author:** ![IgorGanapolsky](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/igorganapolsky/32/14969_2.png) [@IgorGanapolsky](https://community.particle.io/u/IgorGanapolsky)\
**Post date:** [July 13, 2017, 9:02pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/9 "2017-07-13T21:02:03Z")

</div>

Are there plans to use Arduino IDE to build Particle products?

---

<div class="post-metadata">

**Author:** ![RWB](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/rwb/32/22599_2.png) [@RWB](https://community.particle.io/u/RWB)\
**Post date:** [July 14, 2017, 3:07am UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/10 "2017-07-14T03:07:05Z")

</div>

@IgorGanapolsky Not sure if you know about Particle DEV or not but here is link to Particles IDE programming interface if you have not heard of it.

> **[Particle Local Integrated Development Environment for Internet of Things](https://www.particle.io/products/development-tools/particle-desktop-ide)**
>
> Particle's Local IDE is built on GitHub’s Atom, which means it’s open source, customizable, and extensible

---

<div class="post-metadata">

**Author:** ![IgorGanapolsky](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/igorganapolsky/32/14969_2.png) [@IgorGanapolsky](https://community.particle.io/u/IgorGanapolsky)\
**Post date:** [July 14, 2017, 1:20pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/11 "2017-07-14T13:20:54Z")

</div>

Thanks @RWB. I downloaded the software. I like how they forked it from Atom IDE and created a custom implementation. Although it is vastly different from Arduino IDE, I’m looking forward to learning it…

---

<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 14, 2017, 1:23pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/12 "2017-07-14T13:23:20Z")

</div>

Out of interest, why would you have preferred the Arduino IDE (over the Web IDE for example)?

---

<div class="post-metadata">

**Author:** ![IgorGanapolsky](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/igorganapolsky/32/14969_2.png) [@IgorGanapolsky](https://community.particle.io/u/IgorGanapolsky)\
**Post date:** [July 14, 2017, 1:35pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/13 "2017-07-14T13:35:08Z")

</div>

@Moors7 Because Arduino is more ubiquitous, in my opinion, and has been around longer than Particle. So there are more books and samples, and experts online for Arduino.

---

<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 14, 2017, 1:39pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/14 "2017-07-14T13:39:31Z")

</div>

Most of those books and samples are still valid for Particle, though some hardware related things might have to be changed. But that’s also true for the newer Arduino boards. The programming language remains the same though.  
As for experts online, I think the Particle community is one of the best you’ll find. Not only are the people very nice, the Particle folks themselves browse through the forums every now and then. On top of that, this community might be more focused on the whole concept of IoT than Arduino would be (since it’s so widespread).  
Furthermore, though Arduino has been around longer, they haven’t been into the IoT world for that long, something in which Particle has built up quite some experience.

Regardless, give the platform a shot and let us know what you think? Don’t be afraid to ask any questions, should you encounter roadblocks.

---

<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 14, 2017, 1:40pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/15 "2017-07-14T13:40:13Z")

</div>

> [@IgorGanapolsky](#):
>
> there are more books and samples, and experts online for Arduino.

Hmm, what expertise does the actual IDE require?  
If you are looking for C++/Wiring experts, this community might be smaller than the Arduino world, but doesn't need to fear any comparison with any other community.

Having said this, I do agree that having the Arduino IDE support Particle devices would be a perk for many people who want to transition from there to Particle - that's a reason why I had asked for Arduino IDE support from 2013 on 😉  
While it's not a requirement to have this platform shine, it would still be nice to have it _too_

---

<div class="post-metadata">

**Author:** ![Dave](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/dave/32/181_2.png) [@Dave](https://community.particle.io/u/Dave)\
**Post date:** [July 14, 2017, 2:23pm UTC](https://community.particle.io/t/photon-core-philosophy-particle-vs-arduino/19124/16 "2017-07-14T14:23:38Z")

</div>

Thanks for the feedback! I agree that native compilation / development support in the Arduino IDE would be awesome, I’ll mention this to the team and see if we can’t get a spot for it on the roadmap!
