Recipes are split into three main categories: Sensing, Expression and Advanced. Each recipe contains an introduction, a circuit diagram and some example code. It’s impossible to provide every scenario out there for each circuit, so the examples are meant to help you understand how basic implementations are done. A good way to approach these recipes is to consider them as templates to be built over. They won’t do much on their own!

The following diagram briefly summarises the relationship between the Sensing and Expression recipes, and how the Photon operates as a device on the Internet:

graph LR; style A fill:#f9f,stroke:#666,stroke-width:1px style B fill:#57cfff,stroke:#666,stroke-width:1px style C fill:#57ffcf,stroke:#666,stroke-width:1px style D fill:#aaccff,stroke:#666,stroke-width:2px style E fill:#aaccff,stroke:#666,stroke-width:2px style F fill:#aaccff,stroke:#666,stroke-width:2px A[Sensing] --> B{fa:fa-microchip Photon} B --> C[Expression] B --> D[Particle Server] D --> B D --> E[fa:fa-globe Internet] E --> D E --> F[IoTa] F --> E

The Photon is in essence a digital-computing-to-analogue-world translator: it has the ability to take in values from connected sensors, process and convert them to outputs appropriate for an expression, and provides instructions for the expression(s) to take place. It also has the ability to communicate to the Internet, which means it can receive instructions, as well as send data, to and from the Internet.

There are many different methods in which the Photon can communicate with the Internet. Here we will focus on using IoTa for making such connections.


Recipes to connect various sensors to the Photon.


Recipes to actuate, articulate things with various actuation drivers and devices, via the Photon.


Useful code snippets on techniques and methods in coding and realtime data processing, other code libraries I have written, and how to use it in the Particle environment.