This is the main source code repository of the Particle firmware libraries.
To get started building firmware locally, see Getting Started.
- System Flags
- Continuous Integration
- Module Descriptor linking and retrieval
- Photon SoftAP Protocol
- WiFi Tester Firmware
- Testing
- API Changes Checklist
- Firmware Release Checklist
- System describe message
- build test suite
- System Threading
- system versions and releases
- Bootloader overview and internals
- Cloud Communications
- Virtual Device
- Starting a New Platform Hardware Abstraction Layer
- Installing the USB Driver on Windows
The firmware uses the GNU GCC toolchain for ARM Cortex-M processors, ARM's CMSIS libraries, STM32 standard peripheral libraries and Arduino's implementation of Wiring.
On the photon: Broadcom's WICED WiFi SDK.
Unless stated elsewhere, file headers or otherwise, all files herein are licensed under an LGPLv3 license. For more information, please read the LICENSE file.
Additionally, for Photon and P1 firmware (>= v0.7.0-rc.1) which use the Cypress WICED SDK, you agree to the terms of the Cypress IoT Community License Agreement.
The guidelines of the Cypress Community License agreement allow individuals to sell and redistribute compiled binaries, referred to as Software in object code format
, built with WICED as a part of their own developer applications, but does not give any individuals permission to sell, redistribute, or share WICED source code without separate, explicit written permission from Cypress (which Particle has obtained).
If you have questions about software licensing, please contact Particle support.
This firmware is released under LGPL version 3, what does that mean for you?
- You may use this commercially to build applications for your devices! You DO NOT need to distribute your object files or the source code of your Application under LGPL. Your source code belongs to you when you build an Application using this System Firmware.
When am I required to share my code?
-
You are NOT required to share your Application Firmware or object files when linking against libraries or System Firmware licensed under LGPL.
-
If you make and distribute changes to System Firmware licensed under LGPL, you must release the source code and documentation for those changes under a LGPL license.
Why?
- This license allows businesses to confidently build firmware and make devices without risk to their intellectual property, while at the same time helping the community benefit from non-proprietary contributions to the shared System Firmware.
Questions / Concerns?
- Particle intends for this firmware to be commercially useful and safe for our community of makers and enterprises. Please Contact Us if you have any questions or concerns, or if you require special licensing.
(Note! This FAQ isn't meant to be legal advice, if you're unsure, please consult an attorney)
Want to contribute to the Particle firmware project? Follow this link to find out how.
Having problems or have awesome suggestions? Connect with us here.