We have seen the Particle Photon be used in several How-To’s and projects, but why should you as a maker consider using the Photon? What advantages does using a Photon have?
Integrated Wi-Fi Solution
The Particle Photon board is a fully integrated Wi-Fi IoT solution containing an STM32 ARM Cortex M3 microcontroller with 1MB of flash and 128KB of RAM. With support for 802.11 b/g/n and fully FCC and CE certified, the Photon is both powerful and small, making it ideal for prototyping IoT projects. Since the Particle Photon comes either with pin headers or no pin headers, mounting it to breadboards and PCBs alike is very easy.
While the Photon does not have the same shield support as the Arduino range of microcontrollers, the 120MHz ARM core provides superior processing power and plenty of program space. The Photon also comes with all the standard peripherals including I2C, SPI, UART, PMW, USB, CAN, ADC, and DAC.
Programmed in “Arduino C”
While many makers mistakenly refer to code written for Arduinos as the “Arduino language” (it's actually C++ with device specifics) the use of common libraries to describe outside connections and hardware is proving to be incredibly helpful for designers. Code that is written in the Arduino IDE can be ported to any supported device and the different devices could be fundamentally different in architecture, register layout, and hardware interfacing.
But this format of code and hardware description – such as pinMode() and digitalRead() – is also being used by other microcontroller companies, including Particle. The Particle Photon is programmed in C++ with near identical naming conventions to the Arduino range of boards. This means that code written for the Arduino can be copied and pasted onto the Photon with only minor changes needed (pin mapping for example). Designers who are used to programming the Arduino IDE can dive into the Photon straight away.
The Particle Photon, unlike other microcontrollers, is cloud-based with the IDE and compiler being accessed over the cloud. But the compilation of program code is not the only cloud-based service; even the Photon is programmed remotely! This remote program capability allows for the Photon to be built into a remote system and code changes easily sent to it via the cloud.
The cloud-based IDE also allows for debug messages to be read. This acts as a local serial port used to print the value of variables and the IDE also provides a console which shows the status of the Photon. While this may put some engineers off (as some would like everything about their design offline) having remote program capabilities is incredibly handy with the lack of an expensive programmer, or even a precious USB slot!
While some Arduino libraries are device specific many others are not and will work with the Particle Photon with ease. Including libraries is very easy with the use of the publicly held libraries that allow the Photon to use common hardware including servos, sensors, and even displays!
If a special library contains device specific code and needs to be changed, this is easily done with the offline version of the Particle IDE. The IDE will allow for the creation of a local project with editable files and structures, but the program as a whole is still compiled on the cloud.
The Particle Photon is a very useful IoT prototyping platform allowing for remote programming, easy code migration, and fast turn-around of projects. With inbuilt factory versions of the platform, you can be sure that bricking the Photon is unlikely, and with the use of the micro USB B cable, powering the project from a common phone charger is trivial.
Overall the Particle Photon is a very capable microcontroller with a fast processor, plenty of memory, and integrated Wi-Fi, ready to make your next IoT idea come to life.