The popular Arduino project offers an open source hardware design centered around an ATmega microcontroller, such as the ATmega328P. While an official Arduino board is available for sale, anyone may produce a compatible board due to the open nature of the design. Such boards include the Freeduino, whose name sometimes serves to denote any Arduino-compatible board. The project also offers a free and open source Arduino software development environment for Windows, MAC OS X, and Linux systems that includes the Arduino library and examples that help anyone to get a quick start in programming the microcontroller using C or C++. The latest Arduino board can be powered and programmed solely via a standard USB connection.
Arduino/Freeduino boards can also be programmed independently of the Arduino software library by directly using the C/C++ compiler or assembler with a utility like AVRDUDE, so an alternative to the Arduino environment can be used with the same board.