What it is and the problem it solves
Arduino is an open-source hardware and software platform created in 2005 to lower the barrier to physical computing. It solves the problem of inaccessible, expensive, and overly complex microcontroller development for non-specialists.
How it works
Arduino boards expose digital and analog I/O pins for connecting sensors, actuators, shields, and breadboards. They run C/C++ code via an API inspired by Processing. The hardware designs are open under CC BY-SA 2.5. Boards use a variety of microprocessors — starting with the ATmega8 — and are programmed using a modified Processing IDE.
What works
The fork from Wiring works: the ATmega8 support made boards cheaper and more widely distributable. The Processing-inspired API works for rapid iteration. The shield ecosystem works for modular expansion. Open licensing works for commercial and community distribution.
What does not
Arduino does not solve embedded systems engineering at scale. It offers no built-in abstraction for concurrency, memory safety, or hardware abstraction layers. Its IDE hides compiler toolchains and linker scripts, limiting debugging depth. It makes no provision for certification, security hardening, or long-term maintenance.
What it changes
It changes who can build interactive hardware: students, designers, artists, and tinkerers gain direct access to microcontroller I/O without EE training. It shifts prototyping from lab-bound oscilloscopes and JTAG debuggers to desktops with USB cables and breadboards.
Is it worth your time
Yes — if you need fast, low-cost physical prototyping without custom firmware or PCB design. No — if you require real-time guarantees, production-grade reliability, or power efficiency beyond hobbyist thresholds.