Arduino and its ilk are more than just the chips themselves but comprise an open-source computing platform. This includes a software programming application as well as a family of development boards that are designed to make building and programming microcontroller systems surprisingly easy for beginners while still offering significant power for the experienced user. The two core components of the Arduino platform are the software, which is an integrated development environment that is used to program all the compatible boards, and the ecosystem of the hardware boards themselves, with all their associated shields and other accessories. Microcontrollers are essentially integrated circuits that are user configurable. These small integrated circuits look much like the chips but are unique in that they can be programed and reprogramed many times over to respond to inputs like knob turns, button presses, complex digital sensors, or even tweets and then generate outputs to blink and fade lights, create sound, control motors, drive displays, and more.