Enginursday: Choose Your Photon IDE Adventure

If you want to write code for the Particle Photon, an online, "cloud" IDE isn't your only option. Check out our "Photon Development Guide" to see how you can set up a Photon development environment of your own.

Favorited Favorite 2

The Particle Photon is my latest hardware crush. $20-30ish USD gets you a powerful ARM Cortex M3 development board with an integrated Broadcom WiFi chip in a module about the size of an Arduino Pro.

Particle Photon Kit

16 Retired

And it's more than just a nifty piece of cost-effective hardware. It's backed up by Particle's cloud IDE -- Particle Build -- which allows for hassle-free compiling and over-the-air programmability. Internetting my projects has never been so convenient.

Particle Build screenshot

That said, this whole "cloud" thing isn't for everybody. It's totally natural to be suspicious of storing your hard-programmed work on someone else's server. Or relying on a far-off toolchain to compile and debug your code. Fortunately, for those of us hesitant to rely on Particle's Cloud, the Photon is open-source, ARM-based, and USB-programmable. So you can combine ARM-GCC and your favorite IDE to set up a development environment of your own, then start tweaking the firmware to your heart's desire.

The Photon has a built in device firmware upgrade (DFU) USB bootloader. After placing it in DFU mode, you can use dfu-util to quickly -- and locally -- flash your application code. Or! If you want to compile code locally, but flash code remotely, you can use Particle's command-line interface tool -- Particle CLI -- to send your compiled firmware over-the-air to any Photon.

There's also a middle-ground between Particle Build and a custom, ARM-GCC IDE: Particle Dev. Particle Dev is a standalone IDE based on GitHub Atom. It allows you to to store code locally, but still maintains the luxury of an online, "just works" toolchain, and easy remote-programmability. Dev isn't necessarily an offline IDE -- you can't compile without being connected to the cloud -- but it does give you a more customizeable interface.

Particle dev screenshot

There's a development environment for everybody. I find myself switching between the three IDE's all the time. Am I feeling lazy? Do I just need to blink an LED? Particle Build it is. Am I writing a library to publish on the Build IDE? Sounds like a job for Particle Dev. Debugging I2C timing? To the command-line I go!

IDE NameCode storageToolchainRemotely Programmable?
Particle BuildOnlineOnlineYes
Particle DevLocalOnlineYes
Custom GCCLocalLocalYes (with Particle CLI)

I wrote a tutorial to help get anyone started down those three development paths. Check it out!

Photon Development Guide

August 20, 2015

A guide to the online and offline Particle IDE's to help aid you in your Photon development.

If the price tag and capabilities of the Photon appeal to you, don't let the "cloud" buzzword scare you off. Choose your own Photon IDE adventure!

Comments 3 comments

  • Ted M / about 8 years ago / 1

    Do you have any plans to sell just the photon board, without the other parts in the kit?

  • Beto Arango / about 8 years ago / 1

    Ive seen the screen shots... it looks like it (hopefully it is) arduino-like in its programming..for instance I loved the electric imp... but the squirrel code required me to basically start from scratch., and other than turning on a lamp or two i did not end up doing anything significant due to the code barrier.. On the other hand the espthing was a breeze to play with... in part due to the arduino coding being easy.. So will my arduino coding skills get me a headstart.. or am i to be a total newbie all over again?

    • jimblom / about 8 years ago / 1

      Your Arduino skills will definitely come in handy! Particle apps look a lot like Arduino sketches -- you write them in C/C++, and there's still setup() and loop() functions, digitalWrite(), analogRead(), etc. You check out the firmware-writing reference guide here.

Related Posts

Recent Posts


All Tags