About

The person behind PHP Baremetal.

Real PHP, running bare-metal on microcontrollers — the official Zend engine cross-compiled for the chip. This is who builds it, and how you can join.

Creator & maintainer

Gianfrancesco Aurecchia

PHP developer with a focus on embedded systems and IoT. Built PHP Baremetal to bring the real PHP interpreter to microcontrollers — cross-compiling the unmodified Zend engine for the chip so the language of the web runs on the metal.

The project

Why PHP Baremetal exists

Microcontrollers are everywhere, but reaching them from PHP meant learning C. This flips it: bring the language you already know to the metal.

01

The gap

Embedded development means C or C++, a different toolchain, and a different mental model. A web developer with a board on the desk had no way to run the language they know on it — only to talk to it from a distance.

02

The fix

The actual Zend engine from php.net is cross-compiled for the chip and runs your index.php opcode by opcode. Not a subset, not a reimplementation — the same interpreter, so the same script gives the same output on the board and on your desktop.

03

The origin

It started as a "could this even work?" experiment — building the PHP interpreter for a RISC-V microcontroller — and grew into a real port: two chip families, three PHP versions, OpenSSL, OPcache, and stock Laravel and Symfony serving pages over HTTP from an ESP32.

In numbers

The port today.

8.3–8.5

PHP versions

2

Chip families

6

Boards

0

Lines re-implemented

Contributors

The people who build it.

Names appear here as members are added to the project.

Contributing

Get involved.

A real PHP port to bare metal has a broad surface — the engine patches, the board bring-up, the tooling, the docs — and plenty of ways to help shape where it goes next.

You speak C / embedded

Comfortable with ESP-IDF, a cross-toolchain, or the Zend internals? Port an extension, bring up a new board, or shrink the footprint. The lowest layers are where the most valuable help is.

You speak PHP

Write examples and sketches, test frameworks and Composer packages on real hardware, or find where the port diverges from desktop PHP — every bug report against a running board counts.

You speak prose

Good docs are rare in embedded. Rewrite an explanation, fix a broken example, add a recipe — the docs hub publishes from the package repos, so a clear page helps everyone who flashes a board.

Pick an issue. Open a PR. Or just drop a message. Every contribution counts.