Can I make a product like this?

I have done a project using Arduino, GSM module and some sensors. I want to make this as a product and bring this into market. Can I do like this? or is there any other way of building the same device?

Are there any products in the market now which include Arduino in the product?

Thanks in advance.

The Arduino shields are designed for easy prototyping. You can plug and unplug them easily. This is not appropriate for a commercial product. You don't normally have the ability to unplug the sensors in your phone do you?

You can design your own PCB to hold all the components you need, along with an ATMega processor. With a little forethought, you can make that processor programmable through the Arduino IDE. However, even this is not normally appropriate for a product - your users should not have to install Arduino to use your product. It's also not an appropriate method for programming large numbers of units at your factory - there are better programmers for that. But for small production runs and things where you or your employees go out to the units in the field to reprogram them, this is a good idea.

I have a standalone programmer for reloading code in the field from 1 of many on SD card via the ICSP interface.
I can also design a processor/GSM/sensors into a custom product for you.
Have to be careful with GSM module you select - not all are available to purchase in all countries.

MorganS:
your users should not have to install Arduino to use your product.

Just because the product is running Arduino code doesn't mean the user would have to install the Arduino IDE to use the product. Now if they wanted to modify the the code then I think it's completely reasonable that installing the Arduino IDE would be one option. In general Arduino code is not a good choice for a commercial product firmware but the one good reason I can see for doing this is it will make it as easy as possible for the user to understand and modify the code to add features to their product. As the saying goes "if you can't hack it you don't own it" and one of the best ways to allow your users to truly own their product is releasing easy to modify, well documented open source firmware and designing the product in such a way to allow that firmware to be easily updated.

MorganS:
... It's also not an appropriate method for programming large numbers of units at your factory - there are better programmers for that...

Can you or someone please expand on that. I'm in the beginning phases of prototyping a product that is ultimately intended for mass market production. In terms of capabilities, Arduino gives me all the features/functionality/performance I need. However, your comment gives me some pause... specifically:

1 - is there a processing/memory overhead to having Arduino firmware (as opposed to??? C? C++? Or some other native code that is better?)

2 - how would factory-grade mass programming differer with Arduino vs whatever you'd suggest above?

3 - in terms of pure hardware, I do understand that an Arduino board would have (minor) components and headers, etc... that you wouldn't put on a product. But, is it fair to say that one can take the schematics of an Arduino Uno, take away components/connectors/etc that are not needed, add components/connector/etc that are needed for one's specific product requirement, and create a functioning AND cost-effective board for one's product?

Thank you in advance for your answers.

/RoboFred

  1. The bootloader occupies a small amount of space but that is negligible for most purposes.

  2. The really big stuff gets their chips programmed during manufacture by ATMEL. Intermediate size needs to program batches of chips (10-100) in a big programming fixture that works on all chips simultaneously.

  3. Yes and no. The Arduino is popular because the shields are relatively standardized. If you take away the pattern of headers that mate to a shield, then it's no different to starting the design from scratch.

MorganS:
2. The really big stuff gets their chips programmed during manufacture by ATMEL. Intermediate size needs to program batches of chips (10-100) in a big programming fixture that works on all chips simultaneously.

You can order preprogrammed chips from Digikey and I'm sure other suppliers.

MorganS:
3. Yes and no. The Arduino is popular because the shields are relatively standardized. If you take away the pattern of headers that mate to a shield, then it's no different to starting the design from scratch.

The value of the shield compatibility really depends on the product. Personally I much prefer using Pro Mini/Pro Micro/Nano type boards and many other users feel the same. The only board I use with the Arduino header pattern is the Mega. I think just having publicly available Arduino source code and the ability to easily upload sketches via the IDE would be enough to make a product appealing to the Arduino community in many cases.

pert:
You can order preprogrammed chips from Digikey and I'm sure other suppliers.The value of the shield compatibility really depends on the product. Personally I much prefer using Pro Mini/Pro Micro/Nano type boards and many other users feel the same. The only board I use with the Arduino header pattern is the Mega. I think just having publicly available Arduino source code and the ability to easily upload sketches via the IDE would be enough to make a product appealing to the Arduino community in many cases.

I'm totally with you on this. I myself use the Pro Mini and have designed my own board around it.

But now I'm curious; if not Arduino, what language/platform would one use? C? C++? What are the native languages that are more "efficient" than Arduino?

robofred:
What are the native languages that are more "efficient" than Arduino?

There actually isn't an Arduino language. It's just a collection of libraries written in C and C++. If you can write more efficient code than the Arduino libraries then your code will be more efficient. If you can write better assembly than the compiler then that would probably be the most efficient but the compiler is pretty good.

pert:
There actually isn't an Arduino language. It's just a collection of libraries written in C and C++. If you can write more efficient code than the Arduino libraries then your code will be more efficient. If you can write better assembly than the compiler then that would probably be the most efficient but the compiler is pretty good.

So is it fair to say (and please forgive my limited knowledge here) that Arduino language is to C/C++ what C/C++ is to the complier? In that, Arduino (language) is a script-like language that spawn/invoke a bunch of instructions already written in C/C++ in the form of libraries... and importantly, DO NOT add any overhead in terms of performance/resources to having programmed in C/C++?

It's explained fairly well in this article Embed With Elliot: There Is No Arduino “Language” | Hackaday see the comments for other opinions from the peanut gallery and actually I think the author ends up reconsidering his complaints about digitalWrite() to some extent. Another article on this topic that covers much of the same information is Ask Hackaday: Arduino In Consumer Products | Hackaday.