PHPackages                             danjohnson95/pinout - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. danjohnson95/pinout

ActiveProject[Utility &amp; Helpers](/categories/utility)

danjohnson95/pinout
===================

v2.0.1(1y ago)3227817PHPCI passing

Since Feb 11Pushed 9mo ago5 watchersCompare

[ Source](https://github.com/danjohnson95/pinout)[ Packagist](https://packagist.org/packages/danjohnson95/pinout)[ RSS](/packages/danjohnson95-pinout/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (9)Versions (7)Used By (0)

[![Pinout logo](/art/laravel-pinout.png?1)](/art/laravel-pinout.png?1)

Pinout
======

[](#pinout)

Connect your Laravel application to the physical world with Pinout, where code meets circuitry. **Hardware and web, seamlessly united** 🤝

Features
--------

[](#features)

With a Laravel application running on supported hardware, you can:

- Get the current state of any GPIO pin
- Set the state of any GPIO pin

These basic features open up a world of possibilities, from simple LED control to complex robotics.

And with the included drivers, you can also:

- Display digits on a 7 segment display
- Display anything on a 16x2 LCD display

Hardware support
----------------

[](#hardware-support)

At the moment, Pinout supports the following hardware:

ModelSupportedRaspberry Pi Model A✅Raspberry Pi Model B✅Raspberry Pi Model B+✅Raspberry Pi Model 2✅Raspberry Pi 3 Model B✅Raspberry Pi 3 Model B+✅Raspberry Pi 3 Model A+✅Raspberry Pi 4 Model B✅Raspberry Pi 400✅Raspberry Pi 5✅Raspberry Pi Zero✅Raspberry Pi Zero v1.3✅Raspberry Pi Zero W✅Raspberry Pi Zero WH✅Raspberry Pi Zero 2 W✅Getting started
---------------

[](#getting-started)

Install the package to an existing Laravel project:

```
composer require danjohnson95/pinout

```

If you're using Laravel 11 or later, the package will be auto-discovered. If you're using an earlier version, you'll need to add the service provider to your `config/app.php` file:

```
'providers' => [
    // ...
    DanJohnson95\Pinout\ServiceProvider::class,
    // ...
],
```

Usage
-----

[](#usage)

### `PinService` facade

[](#pinservice-facade)

This package allows you to interact with hardware using the `PinService` facade, and also comes with a couple of Artisan commands for convenience.

Use the `pin` method to get a `Pin` instance for a specific pin:

```
$pin = \DanJohnson95\Pinout\Facades\PinService::pin(13);
```

The argument is a reference to the GPIO pin number. (The BCM pin number is used, not the physical pin number.) See [pinout.xyz](https://pinout.xyz) for a visual reference.

The `Pin` instance has methods for interacting with the pin:

```
$pin->isOn(); // Whether the pin is "on" (high)
$pin->isOff(); // Whether the pin is "off" (low)
$pin->turnOn(); // Set the pin to "on"
$pin->turnOff(); // Set the pin to "off"
$pin->makeInput(); // Set the pin to input mode
$pin->makeOutput(); // Set the pin to output mode
```

The facade also has a `pins` method for pulling multiple pins at once:

```
$pins = \DanJohnson95\Pinout\Facades\PinService::pins(13, 19, 26);
```

This will return a `PinCollection` instance, which is a collection of `Pin` instances.

The `PinCollection` comes with some handy methods too:

```
$pins->turnOn(); // Turns all pins on in the collection
$pins->turnOff(); // Turns all pins off in the collection
$pins->makeInput(); // Sets all pins to input mode
$pins->makeOutput(); // Sets all pins to output mode
$pins->findByPinNumber(13); // Returns the Pin instance for the given pin number
$pins->whereIsOn(); // Returns a collection of pins that are on
$pins->whereIsOff(); // Returns a collection of pins that are off
```

### Artisan commands

[](#artisan-commands)

This package comes with a couple of Artisan commands for convenience:

```
php artisan pinout:get 13
```

This will return the current state of the pin.

```
php artisan pinout:on 13
```

This will turn pin 13 on.

```
php artisan pinout:off 13
```

This will turn pin 13 off.

Roadmap
-------

[](#roadmap)

- Hardware interrupts
- I2C
- SPI

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance52

Moderate activity, may be stable

Popularity29

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.8% of commits — single point of failure

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

3

Last Release

437d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6871504?v=4)[Dan](/maintainers/danjohnson95)[@danjohnson95](https://github.com/danjohnson95)

---

Top Contributors

[![benammiswift](https://avatars.githubusercontent.com/u/57051769?v=4)](https://github.com/benammiswift "benammiswift (74 commits)")[![danjohnson95](https://avatars.githubusercontent.com/u/6871504?v=4)](https://github.com/danjohnson95 "danjohnson95 (53 commits)")[![MiniCodeMonkey](https://avatars.githubusercontent.com/u/220535?v=4)](https://github.com/MiniCodeMonkey "MiniCodeMonkey (1 commits)")

---

Tags

gpiohardwarelaravelraspberry-pi

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/danjohnson95-pinout/health.svg)

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

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[wnx/laravel-stats

Get insights about your Laravel Project

1.8k1.8M7](/packages/wnx-laravel-stats)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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