Initial Take on the Photon

My initial impression is not good:

Seems a lot like Electric Imp where you have to be connected to cloud to flash or use.
Optimized and expects a phone app to register device to cloud.
Instructions for Windows & Mac but not for Linux.
Need to load and install node.js
To config via USB still requires I use the npm installed CLI then log into an account to use it.

Way too complicated.

Is there an arduino IDE approach so I can program to run with my own gateway?


1 Like

Not true - go for MANUAL

Not true - As long as the device is online, you can claim via a CLI, Mobile, API. Also, this is a one time process.

Which tool are you trying to install?

What are you trying to config? Sending wifi credentials will only require a serial terminal. Installing particle-cli makes your life easier in future for many things. :wink:

You can consider - Particle dev


Thanks for the feedback. A few more questions, please.

Go for Manual: How might one access their own gateway; IOW, no cloud?

claim via a CLI, Mobile, API: Why do I need to claim?

but not for Linux: I only have Linux. Instructions seem to omit options for Linux.

particle-cli: why a node.js cli? How is this different from regular terminal cli?

arduino IDE approach: again, builds for Mac or Windows, not Linux. Seems that Particle Dev is written in coffee script (which I think is actually a wrapper for javascript). I looked at the docs for Particle Dev and it says " This is not an offline development tool, yet." This goes back to my original comment about the similarity to Electric Imp. Docs say, “However, internet access is required as the files are pushed to the Particle Cloud for compilation and returns a binary”.

If the photon can only be compiled when connected to the servers then I am greatly disappointed with this product framework. Please tell me I’m wrong.


You can create UDP or TCP connections to other devices on the internet independently of the Particle Cloud.

Claiming the device associates it with your account on the Cloud. If you do not plan to use cloud functions, then you do not need to claim the device.

I’m not sure I see what you’re getting at here. Why use any framework - Ruby, Python, Node, Shell script etc…? Software has to be built on something. We chose the tool that got the job done - a regular “terminal cli” (if you mean just using shell) doesn’t provide all the functionalities required.

You can setup a local toolchain to use local tools to build, which also works on Linux. However, this requires more setup than simply using Particle Dev or the WebIDE and so is usually considered an advanced option for developers that want to deep dive into the firmware. What is your adversity to using cloud compile?

I hope that answers your questions. I can see that some of our ecosystem not supporting linux is a concern for you. However, the other points come across as quibbles - it would help greatly if you explained why these things are a problem for you (e.g. using a node.js command line, claiming a device, compiling in the cloud.) That will give us more to go on in the search of a solution for you (or may shape future developments.)

1 Like

Sorry if I sound like I’m quibbling. I’m not down on cloud based configurations, I just don’t always have access to the internet. One of my setups is on a farm too far for cable and with weak unreliable mobile coverage (which is, of course, inexcusably expensive).

I am trying to build an integrated stand-alone home-automation system that can cooperate with the “cloud” but which does not depend upon it. My framework currently includes xbee radios for wireless based sensors, python scripts to collect data and then run it into node-red. Node-red directs the data into graphite/grafana for charting and analysis, to Icinga for monitoring and alerting, to a mysql data store for later retrieval, or to many other systems. It also allows me to do IFTTT type of modular connectivity to various components’ APIs without using yet another cloud or mobile app application. This is all running on raspberry pis, or beaglebone blacks, or odroid-C1s.

My next iteration will be using esp8266 wifi radio modules which can be had for a fraction of the cost of xbees and which can be programmed with the arduino IDE.

I plan to hook up a few photons but I’m just trying to understands its limitations for my framework.

Is your advanced tool chain available? Open Source? Documented?


1 Like

Thanks for the explanation. That helps a lot! :smile:

If the system needs to work without an internet connection, let me assure you the Photon can certainly do that.

If you also need to develop without an internet connection then the local toolchain is the way to go. That link points you to the main docs which describes the entire setup process.

Looking at the spark/firmware on github now. Thanks.

The Electron might be a good choice for such application as well.