SparkFun will be closed on Tuesday, November 5th to support our team in being able to go out and vote! Orders placed after 2 pm MT Monday, November 4th will ship on Wednesday, November 6th. Thanks for your patience and understanding.
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.
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.
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.
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 Name | Code storage | Toolchain | Remotely Programmable? |
---|---|---|---|
Particle Build | Online | Online | Yes |
Particle Dev | Local | Online | Yes |
Custom GCC | Local | Local | Yes (with Particle CLI) |
I wrote a tutorial to help get anyone started down those three development paths. Check it out!
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!
Do you have any plans to sell just the photon board, without the other parts in the kit?
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?
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()
andloop()
functions,digitalWrite()
,analogRead()
, etc. You check out the firmware-writing reference guide here.