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.
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.
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.
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.
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.
The port today.
8.3–8.5
PHP versions
2
Chip families
6
Boards
0
Lines re-implemented
The people who build it.
Names appear here as members are added to the project.
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.