PHPackages                             academe/particle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. academe/particle

ActiveLibrary[API Development](/categories/api)

academe/particle
================

A PSR-7 PHP package for working with the Particle API

0.9.1(10y ago)4250[2 issues](https://github.com/academe/Particle/issues)MITPHPPHP &gt;=5.4.16

Since Jan 18Pushed 10y ago1 watchersCompare

[ Source](https://github.com/academe/Particle)[ Packagist](https://packagist.org/packages/academe/particle)[ RSS](/packages/academe-particle/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (3)Versions (3)Used By (0)

Particle
========

[](#particle)

PHP package for interacting with the [Particle Cloud](https://particle.io/), and its cloud-connected devices ([Photon](https://store.particle.io/collections/photon), P0, P1, Electron)

TODO
----

[](#todo)

Work in progress, but main tasks are:

- Create tests.
- Remove old Spark code.
- Replace examples.
- Maybe remove the debug logging, given we have enough injected points to set debug.
- Full coverage of the API. Authentication as an application plus orgs are the main areas left.

Quick Installation
------------------

[](#quick-installation)

Using composer:

```
composer.phar require academe/particle

```

Add dependencies for the demo:

```
composer.phar require guzzlehttp/guzzle

```

Example Class
-------------

[](#example-class)

All the examples have been put into the `Academe\Particle\Example` class. Please look into this class to see how the API works.

In summary, this package generates PSR-7 messages, which are sent using any suitable HTTP client.

At the moment there is no interpretation of the results - you need to get the results you need from the PSR-7 response, the format of which is documented in the [Particle API documentation](https://docs.particle.io/reference/api/).

You can be run the examples like this:

```
use Academe\Particle\Example;

$accessToken = 'your-account-access-token';
$deviceId = 'your-device-id';
$email = 'your-cloud-email-username';
$password = 'your-cloud-password';

// Instantiate the example class.
$example = new Example($access_token, $device, $email, $password);

// Flash the device with the Tinker application.
$response = $example->flashTinker();
//$response = $example->setDeviceName();
//$response = $example->setDeviceName('christmas_turkey');
//$response = $example->listDevices();
//$response = $example->getDevice();
//$response = $example->getDevice('20033307343c03805403a138');
//$response = $example->newAccessToken();
//$response = $example->listTokens();
//$response = $example->deleteAccessToken('176a67f0d31647beac429252af8663a5040a945c');
//$response = $example->callFunction();
//$response = $example->listOranizations();
//$response = $example->removeMember('my_organization', 'someone@example.com');

echo "Status=" . $response->getStatusCode() . "\n";
echo "Reason=" . $response->getReasonPhrase() . "\n";
echo "Detail=" . $response->getBody() . "\n";
```

Don't forget to install Guzzle (v6) to run these examples:

```
composer require guzzlehttp/guzzle

```

Most of the other examples in this class require the Tinker application to be installed as the first step.

Implemented Features
--------------------

[](#implemented-features)

TODO: this list is not complete. Some additional features are implemented, and the API has further new features that are not yet implemented.

### Device Management

[](#device-management)

- List Devices
- Get device info
- Rename/Set device name
- Call Particle Function on a device
- Grab the value of a Particle Variable from a device
- Remote (Over the Air) Firmware Uploads
- Device signaling (make it flash a rainbow of colors)

### Access Token Management

[](#access-token-management)

- Generate a new access token
- List your access tokens
- Delete an access token

### Webhook Management

[](#webhook-management)

- List Webhooks
- Add Webhook
- Delete Webhook

### Account/Cloud Management

[](#accountcloud-management)

- Use a local particle cloud
- Claim core or photon
- Remove core or photon

Not Yet Implemented Features
----------------------------

[](#not-yet-implemented-features)

- OAuth Client Creation (/v1/clients)
- Advanced OAuth topics

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3817d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/395934?v=4)[Jason Judge](/maintainers/judgej)[@judgej](https://github.com/judgej)

---

Top Contributors

[![judgej](https://avatars.githubusercontent.com/u/395934?v=4)](https://github.com/judgej "judgej (34 commits)")[![devinpearson](https://avatars.githubusercontent.com/u/1645428?v=4)](https://github.com/devinpearson "devinpearson (31 commits)")[![harrisonhjones](https://avatars.githubusercontent.com/u/299114?v=4)](https://github.com/harrisonhjones "harrisonhjones (30 commits)")

---

Tags

phpiotphotonsparkparticle

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/academe-particle/health.svg)

```
[![Health](https://phpackages.com/badges/academe-particle/health.svg)](https://phpackages.com/packages/academe-particle)
```

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.4k87.2M2.2k](/packages/symfony-symfony)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69735.1M151](/packages/algolia-algoliasearch-client-php)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M724](/packages/sylius-sylius)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k13](/packages/tempest-framework)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k409.0k6](/packages/theodo-group-llphant)[telnyx/telnyx-php

Official Telnyx PHP SDK — APIs for Voice, SMS, MMS, WhatsApp, Fax, SIP Trunking, Wireless IoT, Call Control, and more. Build global communications on Telnyx's private carrier-grade network.

35789.4k2](/packages/telnyx-telnyx-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
