Frequently Asked Questions
What do you mean by open-source hardware?
Open-source hardware shares much of the principles and approach of free and open-source software. In particular, we believe that people should be able to study our hardware to understand how it works, make changes to it, and share those changes. To facilitate this, we release all of the original design files (Eagle CAD) for the Arduino hardware. These files are licensed under a Creative Commons Attribution Share-Alike license, which allows for both personal and commercial derivative works, as long as they credit Arduino and release their designs under the same license.
The Arduino software is also open-source. The source code for the Java environment is released under the GPL and the C/C++ microcontroller libraries are under the LGPL.
How can I get an Arduino board?
You can buy an Arduino board from one of the distributors listed on the
buy page. If you'd prefer to build your own, see the
Arduino Single-Sided Serial board, which can be easily etched and assembled.
Who makes Arduino boards?
Most of the official Arduino boards are manufactured by
SmartProjects in Italy. The Arduino Pro, Pro Mini, and
LilyPad are manufactured by
SparkFun Electronics (a US company). The Arduino Nano is manufactured by Gravitech (also a US company).
Which are the official Arduino boards?
The official Arduino boards are the ones listed on the
hardware page: the Duemilanove, Nano, Mega, Bluetooth (BT),
LilyPad, Mini, Pro, Pro Mini, and a few older models, along with the Ethernet,
XBee, motor, and prototyping shields. These are boards whose manufacturers work with the Arduino team to ensure a good user experience, compatibility with the Arduino software, and a quality product. In return for their status as official boards, the manufacturers pay a licensing fee to the Arduino team to support the further development of the project.
In general, we try to restrict use of the name "Arduino" to the official boards. If you find a product under a different name but described as "Arduino compatible", it’s probably not an official board and doesn’t fund continued work on the project.
I want to design my own board; what should I do?
The reference designs for the Arduino boards are available from the
hardware page. They're licensed under a Creative Commons Attribution Share-Alike license, so you are free to use and adapt them for your own needs without asking permission or paying a fee. If you're looking to make something of interest to the community, we'd encourage you to discuss your ideas on the
hardware development forum so that potential users can offer suggestions.
What should I call my boards?
If you're making your own board, come up with your own name! This will allow people identify you with your products and help you to build a brand. Be creative: try to suggest what people might use the board for, or emphasize the form factor, or just pick a random word that sounds cool. "Arduino" is a trademark of Arduino team and should not be used for unofficial variants. If you're interested in having your design included in the official Arduino product line, please see the
So you want to make an Arduino document and contact the Arduino team.
While unofficial products should not have "Arduino" in their name, it's okay to describe your product in relation to the Arduino project and platform. Here are a few guidelines that explain which uses we consider reasonable.
Not okay:
- Arduino Xxxxxx
- Xxxxxx Arduino
- Arduino Compatible Xxxxxx - use "Xxxxxx (Arduino-Compatible)" instead
Okay:
- Xxxxxx for Arduino - products that work with official Arduino boards (e.g. shields or kits)
- Xxxxxx (Arduino-Compatible) - variations and clones which are software and hardware compatible
Note that while we don't attempt to restrict uses of the "duino" suffix, its use causes the Italians on the team to cringe (apparently it sounds terrible); you might want to avoid it. (It's also trademarked by a Hungarian company.)
Can I build a commercial product based on Arduino?
Yes, with the following conditions:
- Physically embedding an Arduino board inside a commercial product does not require you to disclose or open-source any information about its design.
- Deriving the design of a commercial product from the Eagle files for an Arduino board requires you to release the modified files under the same Creative Commons Attribution Share-Alike license. You may manufacture and sell the resulting product.
- Using the Arduino core and libraries for the firmware of a commercial product does not require you to release the source code for the firmware. The LGPL does, however, require you to make available object files that allow for the relinking of the firmware against updated versions of the Arduino core and libraries. Any modifications to the core and libraries must be released under the LGPL.
- The source code for the Arduino environment is covered by the GPL, which requires any modifications to be open-sourced under the same license. It does not prevent the sale of derivative software or its inclusion in commercial products.
In all cases, the exact requirements are determined by the applicable license. Additionally, see the previous question for information about the use of the name “Arduino”.
How can I run the Arduino IDE under Linux?
Can I program the Arduino board in C?
In fact, you already are; the Arduino language is merely a set of C/C++ functions that can be called from your code. Your sketch undergoes minor changes (e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++). All standard C and C++ constructs
supported by avr-g++ should work in Arduino. For more details, see the page on the
Arduino build process.
Can I use a different IDE to program the Arduino board?
It is possible to compile programs for the Arduino using other build tools (e.g. Makefiles and/or AVR Studio). You'll need to configure these to link against the appropriate files in the Arduino core libraries. See the description of the Arduino
build process.
Can I use an Arduino board without the Arduino software?
Sure. It's just an AVR development board, you can use straight AVR C or C++ (with avr-gcc and avrdude or AVR Studio) to program it.
Can I use the Arduino software with other AVR boards?
Yes, although it may require some modifications to the Arduino core libraries. See the
porting page in the Arduino Google Code project for details.
Where is the troubleshooting section?