Motivation

This is, in many ways for me, an exercise in empathy.

For many developers, Arduino is their first encounter with the world of software engineering. And what do they meet? A single function—loop()—and a blank page. It's simple, approachable, and that's precisely its genius. But simplicity has a price.

That price is often spaghetti code. What starts simple becomes unmanageable.

There's another dimension to this. The reputation of the Arduino environment among professionals is... complicated. I've approached colleagues—experienced developers—and asked them to package their private modules as libraries compatible with EVA, to release them under their own names. The response surprised me. They shared their code. They wanted it to be used. But they asked to remain anonymous.

For years, I half-expected Arduino to release something official — a standard way to structure larger projects, to keep code organized as it grows. It never came. And honestly, that's fair—Arduino's mission was always accessibility, not architecture.

So EVA is my contribution to fill that gap. Not a replacement for Arduino's simplicity, but a companion that helps when your project outgrows loop(). A way to write code that remains clear months later.