dept-of-scrapyard-robotics / st77xx
Drive ST77xx Full Color TFT displays over SPI with PHP
Package info
github.com/DeptOfScrapyardRobotics/ST77xx
pkg:composer/dept-of-scrapyard-robotics/st77xx
Requires
- php: ^8.3
- fabricate/circuits: ^0.6.0
- fabricate/contracts: ^0.6.0
- fabricate/displays: ^0.6.0
- fabricate/framebuffers: ^0.6.0
- gpio/contracts: ^0.6.0
- gpio/digital: ^0.6.0
- gpio/i2c: ^0.6.0
- gpio/spi: ^0.6.0
Suggests
- ext-ftdi: ^0.5.0
- ext-posi: ^0.5.0
- microscrap/mpsse: ^0.5.0
- microscrap/posix: ^0.5.0
This package is auto-updated.
Last update: 2026-08-11 22:24:30 UTC
README
SPI drivers for ST7735 / ST7789 / ST7796. Extends GeneralPurposeIO\Circuits\DisplayPanel.
Register
Provider registers catalog slugs st7735, st7789, st7796 and wires st77xx:make-profile into circuit:make-profile.
Profiles
workshop vendor:publish --tag=gpio-circuits-config workshop circuit:make-profile # picks any installed IC; ST77xx delegates here workshop st77xx:make-profile # ST7735 / ST7789 / ST7796 only
The command asks SPI/DigitalIO adapter, device, chip select, and dc/rst pins from #[Pinout], and always sets boot_now => true.
Circuit::profile('front_panel');
Smoke sketch
Requires at least one ST77xx profile in config/circuits.php:
php workshop runner st77xx-smoke php workshop runner st77xx-smoke --profile=front_panel
Provisions only via Circuit::profile() — no tubes/window driving. Cycles solid RGB565 fills until you Ctrl-C. On USB SPI, DC/RST come from the same MPSSE bus when canServeDigitalPins() is true.