There are lot of device support with the help of Boards Manager today and is on going in Arduino IDE.
So I am curious to know about can one use those for production purpose. Or it is recommended for quick prototyping purposes only...
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It only takes a minute to sign up.Sign up to join this community
There's a lot of controversy on this issue, but if it works for your needs, absolutely do it!
Basically, there are 2 questions you have to answer:
Should I use actual Arduino boards in production?
The answer is generally "no", simply because you need to customize the boards to add components to support your project, and to make them more robust, and cheaper, if possible. So, use an Arduino schematic as a guideline, then modify it to suit your needs.
One big exception to this, however, could be if you create a "mother board" onto which you will plug in a "daughter board" such as an Arduino Nano, Pro Mini, Pro Micro, or similar. You could make the Nano removable by soldering male headers onto it, and female headers onto the main "mother board", then you just plug in the Nano into the headers on the main board. Or, you could make it permanent by soldering male headers onto the Nano and then also solder that straight onto the "mother board" directly into the holes where female headers would otherwise be soldered. Both of these are great options, and this vastly simplifies your design and assembly process as you learn to get started manufacturing. Legal Arduino Nano clones are ~$1~$4 each, with shipping, on Ebay, and Pro Minis (not as good--here I recommend the Nano) are about the same, so buying a pre-made Nano is generally cheaper than buying just the raw chips on the Nano anyway, oddly enough. And again, this vastly simplifies your design and makes designing and assembling boards and products much much easier for the beginner/entry-level manufacturer (you) or micro business. It also allows you to make hand-made boards using perf-boards or proto (prototyping) boards, as I show in my other answer here.
For designing your own board, I recommend KiCad, which is Free and Open Source, and no cost (
"free" == "free to modify"; "free" != "no cost"!), and actively developed by a volunteer team of about 6 people on a daily basis (I'm on their mailing lists and see this daily). It is a great product and is highly-capable. It is used by hobbyists and professionals alike, and has been used on many professional products world-wide. CERN, Arduino, and DigiKey have all contributed to KiCad in one way or another (see the list here: https://kicad-pcb.org/about/kicad/). The CERN Open Hardware Repository states here:
We think that KiCad can do to PCB design what the gcc compiler did to software: ensure there are no artificial barriers to sharing so that design and development knowledge can flow more freely.
That's an incredibly exciting mission!
There is also Autodesk Eagle, which is also popular among hobbyists and small businesses. It is a paid product, but has a no cost version for hobbyist, non-commercial use. It is also actively developed, by a tiny team of paid software developers on a pier in San Francisco. I've been to their office, and they are very excited about their work on it. They are doing a great job at making it a more-professional product. They've made some great improvements to Eagle over the last few years, hence why its price has gone up. It is also a great product.
Both products work on Windows, Mac, and Linux.
The Arduino board schematics are open-source hardware, so follow the licenses and provide attribution to where your design stemmed from. Ex: here's the Uno schematic. It shows the CC BY SA license logo at the bottom. I don't see a license version, but if it's 1.0, here's that license in plain terms. So, if you copy parts of the original schematics, release your design under the same license, and give credit to the original design.
You can NOT, however, use the Arduino logo or name. Those are trademarked and copyrighted, respectively. Arduino clones which do NOT use the Arduino name or logo are legal, and any clones which DO use the Arduino name or logo are illegal. There's no excuse for making an illegal Arduino clone. The schematics are intentionally open-source.
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.
Since the hardware designs of Arduino are open source it is allowed to copy and further develop them. However this is not the same thing as making an Arduino board, only the company Arduino can design and produce Arduino products.
Your finished product is a product compatible with Arduino which should have its own name and brand. In case a copy uses the Arduino name and/or logo on it, this board is no longer a copy but a counterfeit which is illegal to manufacture and produce.
Should I use the Arduino software (build system and core libraries, and my program / "sketch") in production?
The answer is generally, "yes". This may be using the IDE for building or using the Arduino CLI command-line build interface.
The Arduino core and build system works great and has tons of internal and 3rd-party library support. The Arduino IDE itself is released under the GPL license (see below), and the core libraries are LGPL-licensed, which means if you modify them for your project, and put your project result into someone else's hands, you MUST release your modifications you made to the core code and libraries to those who have your project in their hands. See the main license file here:
this file includes licensing information for parts of arduino.
first, the gnu general public license, which covers the main body of the processing/arduino code (in general, all the stuff inside the 'app' and 'core' subfolders).
next, the gnu lesser general public license that covers the arduino core and libraries.
But, you can keep your programs/"sketches" and main bits of project closed-source if you wish. Your programs are your own. They are copyrighted solely by you and you can license, use, and/or sell them however you wish. This includes the right to sell your Arduino/C and C++ programs as software or as firmware within a commercial product.
As a matter of fact, the GPL and LGPL licenses on the Arduino IDE and source code even allow you to sell the Arduino IDE and source code itself if you wish! This is really important, and is a fundamental right that "free and open source" software grants you. The Free Software Foundation, which is the owner of the copyrights on the license text itself, and the author of the GNU GPL and LGPL and other free and open source licenses, has this official guidance about selling and even reselling free software (they strongly encourage it!) (italics added):
Selling Free Software
Some views on the ideas of selling exceptions to free software licenses, such as the GNU GPL are also available.
Many people believe that the spirit of the GNU Project is that you should not charge money for distributing copies of software, or that you should charge as little as possible—just enough to cover the cost. This is a misunderstanding.
Actually, we encourage people who redistribute free software to charge as much as they wish or can. If a license does not permit users to make copies and sell them, it is a nonfree license. If this seems surprising to you, please read on.
The word “free” has two legitimate general meanings; it can refer either to freedom or to price. When we speak of “free software”, we're talking about freedom, not price. (Think of “free speech”, not “free beer”.) Specifically, it means that a user is free to run the program, study and change the program, and redistribute the program with or without changes.
Free programs are sometimes distributed gratis, and sometimes for a substantial price. Often the same program is available in both ways from different places. The program is free regardless of the price, because users have freedom in using it.
Nonfree programs are usually sold for a high price, but sometimes a store will give you a copy at no charge. That doesn't make it free software, though. Price or no price, the program is nonfree because its users are denied freedom.
Since free software is not a matter of price, a low price doesn't make the software free, or even closer to free. So if you are redistributing copies of free software, you might as well charge a substantial fee and make some money. Redistributing free software is a good and legitimate activity; if you do it, you might as well make a profit from it.
Free software is a community project, and everyone who depends on it ought to look for ways to contribute to building the community. For a distributor, the way to do this is to give a part of the profit to free software development projects or to the Free Software Foundation. This way you can advance the world of free software.
Distributing free software is an opportunity to raise funds for development. Don't waste it!
In order to contribute funds, you need to have some extra. If you charge too low a fee, you won't have anything to spare to support development.
This is only the first portion of their stance on the topic. Read the rest of the Free Software Foundation's encouragement to sell free software here.
That's the gist of it.
I am not a lawyer, and even if I was, none of my words herein are official legal advice.
When words come from the Free Software Foundation, who authors the GPL and LGPL licenses, however, those words are automatically extra legitimate.
There is two cases. First you use arduino boards. I would avoid this because it will be more expensive and harder to assemble the product. There is one exception, the new arduino nano family. These boards are made to be easily use in production (they can be soldered as a SMD components) but it's always expensive.
The second case is to use arduino software on custom microcontroller setup. It cheaper and easier tu put in production. The limitations are the choice of microcontroller (mostly Atmel) and speed and memory usage of microcontroller. As you use an extra layer of software (the Arduino bootloader) there is a risk of bug.
To conclude : it's possible but as most of the people that put projects in production know how to use microcontrollers without Arduino hardware or software and there is limitations to Arduino software there is not a lot of case of uses and it's not reccomended.