Particle (formerly Spark) is a complete, open source, full-stack solution for cloud-connected devices.
The content below includes everything necessary to build a powerful connected device from scratch, including hardware designs, firmware, cloud software, mobile app templates, and development tools.
coreHardware design files for the Spark Core, our TI CC3000 Wi-Fi development toolkit and reference design. Issues
photonHardware design files for the Photon, our Broadcom 43362 development toolkit and reference design. Issues
electronHardware design files for the Electron, our cellular development toolkit and reference design. Issues
The transport layer between Particle devices and the Particle Cloud is composed of CoAP packets sent over a TCP socket encrypted through an RSA asymmetric key handshake passed off to an AES encrypted tunnel. Its implementation can be found in the core-communication-lib above and the spark-protocol library below.
spark-serverAn API compatible open source server for interacting with devices speaking the Spark protocol. Issues
spark-protocolA Node.js module for hosting direct encrypted CoAP socket connections with Sparky things. Issues
Mobile app templates
android-appThe Spark Core Android app, which acts as a template for Android apps for other Spark-powered products. Issues
ios-appThe Spark Core iOS app, which acts as a template for iOS apps for other Spark-powered products. Issues
Official language wrappers are currently in development for Node.js, Ruby, and Python. In the meantime, please visit our resources page for community-developed language wrappers.
particle-cliCommand Line Interface (CLI) for interacting with the Particle Cloud, Core, Photon, and Electron. Issues
We use Git for version control, and Github as our central repository for all of our source code. Anyone can view our open source repositories, and with a free Github account, raise issues and contribute to our source code.
Feature requests and bug fixes
We use Github Issues to track issues for each of our open source repositories.
Each of the above repositories has a link for issues; feel free to submit feature requests and raise bugs on Github, or star a repository to follow its progress.
We welcome contributions to all of our open source repositories. These contributions come in the form of a Pull Request, where you "fork" our repositories and then request that we "pull" your changes back into our repositories. You must have a Github account to make a contribution.
All contributors must first sign the Particle Individual Contributor License Agreement (CLA), which is based on the Google CLA, and provides the Particle team a license to re-distribute your contributions.
Whenever possible, please follow these guidelines for contributions:
- Keep each pull request small and focused on a single feature or bug fix.
- Familiarize yourself with the code base, and follow the formatting principles adhered to in the surrounding code.