This document discusses controlling Arduino boards with PHP using an event-driven asynchronous model. It introduces the Arduino board and Firmata protocol. It then describes how to build an event loop system in PHP using event emitters, promises, and non-blocking I/O. Finally, it presents the Carica projects which implement these concepts to interface with Arduino boards from PHP code.