Suitability for commercial applications

Hi, I was wondering if anyone can give an opinion on whether the Arduino is suitable for commercial applications? Our company is considering building something using the Arduino and some thermal sensors for notification of temperature changes to the environment - in such settings as food freezers, medicine fridges, and hardware overheating.

Thanks

Hi! That’s something I’m also trying to find out. I know we can refer to the ATMEL microcontroller datasheet for temperature extremes and some performance data, but how do the Arduino boards (Duemilanove, Mega, and Ethernet shield) perform in industrial environments (very high/low temperatures, high electromagnetic interference, high humidity )?

Another question is support; if we create a device based on an Arduino board, and in 5 years time we have a couple of failures, how are we going to repair/exchange the device? Arduinos will most probably be very different in a couple of years…

What are your thoughts on this? Anyone has an Arduino-based design working in industrial/though environments?

Many thanks!

Óscar Sarabando

Software and Automation Engineer
http://flink.formula9.net

I'd be looking to improve the protection on I/O pins for industrial uses.

Someone told me that since the compiler/loader is open source, it may create erroneous code or may create code that conflicts with boot or loader code, and that this was a reason one shouldn't use the Arduino for commercial apps. Is there any truth to this?

Is there any truth to this?

Non what so ever.

While open source code can contain errors it has that many users and active support that they don't stay errors for long, unlike most commercial stuff. Most open source programmers are commercial programmers on there day off.

However I would agree with AWOL about robust pin protection. The board itself is not much different from commercial stuff.

Someone told me that since the compiler/loader is open source, it may create erroneous code or may create code that conflicts with boot or loader code, and that this was a reason one shouldn’t use the Arduino for commercial apps.

Nonsense. Open source software is used FREQUENTLY in commercial products, and not just for compilation. Most of the internet is built from from such products (cisco router software is compiled with gcc, and has been for over 20 years (though multiple generations of multiple architectures of CPUs), and many of the home routers are actually tiny linux boxes.) And NOT being open source hardly guarantees that software (even compilers) will be bug-free (look at windows :slight_smile: (or those cisco routers’ bugs, very few of which can be blamed on compiler incorrectness. Sigh.)

While arduino hardware is not “hardened” against “industrial environments”, it isn’t any less so than many other commercial products; we’ve bought “temperature loggers” that weren’t much more than a PIC and an rs232 interface. Being able to cover a temperature range from below freezing to “overheating” might require special attention, but that’d basically be attention beyond that needed just for “commercialization.”

If I were doing an industrial application, I'd look at the Gator board from http://www.ruggedcircuits.com/. It has some input pin protection.

As to replacing the board in the future, these boards are inexpensive enough (by industrial use standards) that you could buy spares and keep them on the shelf. If you use up your spares, and the board you were using has been discontinued, chances are that someone will have produced something that is cheaper, faster, and better, and it may even be backwards-compatible.

-Mike

boards

I really have absolutely zero experience with designing commercial solutions using Arduinos, but I would assume that a standard approach would be to use an off-the-shelf arduino-compatible board to prototype, then just embed an appropriate atmega chip and resonator onto the final product.

Given that many industrial applications are cost-sensitive to the point that a few extra resistors makes a big difference, why would you ever embed a "real" arduino in a commercial product - considering it probably costs at least $20 more than just embedding the bare minimum components?

Taking it a step further, wouldn't it also likely be a standard approach to just burn the finished program to a blank chip, rather than using a chip with a bootloader on it?

Then again I suppose it's all fairly application-specific.

I think the important question is: "How many units are you going to build." If you only need one or two units, then it's probably easier just to use a complete Arduino board.

If you are going to manufacture the units for resale, then you would probably use an Arduino board for development and prototyping, then switch to a bare-bones board for production.

-Mike

Thanks for your views!

In fact, we are developing a device that will be sold like 20 - 30 units per year. I think the sales volume doesn't really justify the expense of designing a custom board, baking and populating it.

But how does the Arduinos fare against humidity, high/low temperatures, vapours, vibration, electromagnetic noise, etc? Has anyone got it working in such environments?

My next project will put an Arduino Duemilanove working near powerful pumps, valves, and corrosive chemical tanks (like acids and lye/caustic soda). Let's see how it performs! :)

Thanks again!

Óscar Sarabando

Software and Automation Engineer http://flink.formula9.net

But how does the Arduinos fare against humidity, high/low temperatures, vapours, vibration, electromagnetic noise, etc? Has anyone got it working in such environments?

My next project will put an Arduino Duemilanove working near powerful pumps, valves, and corrosive chemical tanks (like acids and lye/caustic soda). Let's see how it performs!

The arduino uses pretty much "standard" construction, almost certainly suitable for "commercial" environments, but it is in no way specifically "hardened" against especially harsh "industrial" environments. At 30 units per year, I'd be inclined to throw your electronics inside a sealed box of some kind, and spend your extra time working on buttons/etc that don't involve putting holes in the box (magnetic reed switches, photosensors, etc.)

My question would be how do the commercial applications withstand the environment? I have seen commercial products, tightly sealed to withstand almost everything being completely rotten from inside after 6 months in a cow barn. Typically the boards had no protection but a super tight sealing. Did not help much though. The fumes were eating through the seals and the devices.

Probably there exist devices that would withstand this environment but most commercial vendors either underestimate the agressiveness of this environment or already calculate for lots of returns.

My conclusion is that most commercial solutions will harden it by suitable cases (incl. shielding) and protecting the IO lines. For protecting the IOs the Gator was already mentioned.

For the case and the shielding it depends on how much you want to spend.

Cheers, Udo

Most of the 'industrial' rated electronic assemblies I've come across were in a oil refinery before I retired. Most of the boards had a conformal coating on them, looked like the whole thing was painted in clear epoxy. It was tough stuff and a real pain if you had to try and remove and re-solder a component. A refinery is subject to some nasty atmospheres at times and I've seen trace amounts of H2S gas turn PCB traces blue. :-[

Anyway I think normal commerical grade electronic assemblies like an Arduino would do ok if packaged in a case rated for the service it was going to be subjected to.

Lefty

If you're looking to create a commercial product, you probably want to look at either designing a custom board yourself, or paying someone to do this. In my opinion it would be a great waste of money to buy a whole arduino dev board per product you sell, when you could design a board to contain ALL your parts on a single board, as well as only the required parts for the atmega chip. This would be a great deal of cash savings per device.

This would be a great deal of cash savings per device.

This is only true if the quantities warrant it. It costs money to develop a board and supposed you cut down the cost by half then you are only saving 10 * 30 = $300 a year. You have to weigh that against the cost of getting PCBs made and assembled. It is just not worth it at these numbers.

Some of the things I design get made in the millions so save $0.1 on that and it is a great deal of money. Other things, like my current work based project sells only hundreds a year so ten cents is not so much.

There are industrial, commercial and military grades of components and basically they can withstand higher temperatures. For improved humidity performance you need ICs in ceramic packages rather than plastic packages. Also you can get better grades of capacitors with a higher life / temperature rating. This is important because capacitors are one of the things that have a known wear out mechanism.

After that, as has been said before, it comes down to protection in the way of conformal coatings, potting, cases and cooling. For every 10 degrees C rise a unit works at the expected life half's.

True, small quantities would make cost of a commercial arduino board less of an issue, but it would still make sense to use an RBBB or Boarduino or other low-cost clone, unless you needed shield compatibility - IMHO at least. Assuming you don’t need shield compatibility, cost to design and build around an RBBB should be more or less the same as an official board, and you’d save $16 or so per unit.

A fair amount of “harsh environment engineering” seems to be getting really honest about the “the expected lifetime of this product is 100 hours” sort of specification, along with making the thing cheap enough that the customer doesn’t mind throwing it away after only 100 hours of use.

So I get that people are advocating using Arduino for prototyping and then building a custom solution for commercial purposes. Can someone please elucidate what goes into the "custom" solution after you have a prototype with an arduino? Where can you buy barebones boards? How can you learn more about them and where can you find people that can help you navigate the process of taking a prototype and making a viable commercial product?

Thanks.

please elucidate what goes into the "custom" solution after you have a prototype with an arduino?

A custom-designed PCB that includes all the relevant parts of the arduino (which can vary depending on what your product does), plus whatever additional components your product uses. Designed with careful attention to type and placement of connectors to off-board components, eliminating them as much as possible. (no matter what else, connectors are ALWAYS a weakness when it comes to hardening a product.) I wouldn't feel too bad about an actual arduino/shield combination; those connectors "match" and by the time you get 28 pins worth it's pretty sturdy. But the common prototyping practice of sticking in rather arbitrary wires into the arduino connectors would be insane...

"Manufacturing Engineering" is a whole separate discipline from EE or CS. There are experts, and consultants. They're expensive. (And not everyone does a good job. There are lots of crappy products out there.)

The details, and exactly who or what you should employ/study, would depend pretty strongly on exactly what you're trying to do and in what environment. Which you haven't told us. Some industries have STANDARDS for stuff (which gets you from manufacturing engineering to compliance engineering. and test engineering.) UL, CSA, CE, FIPS, NEBS, MIL-Spec, NASA, and many many more.

Sometimes it's a wonder that there are any commercial products at all.

I see you mention temperature there. The Arduino is not very accurate as far as I can determine using an external analogue sensor . So far the best I can get after much discussion is an accuracy of about 2 degrees C . Thats about 20mV variation in readings returned.

There is an internal temperature sensor if the whole device is in the fridge for instance but it is not great either -this from the datasheet

23.8 Temperature Measurement
The temperature measurement is based on an on-chip temperature sensor that is coupled to a
single ended ADC8 channel. Selecting the ADC8 channel by writing the MUX3…0 bits in ADMUX
register to “1000” enables the temperature sensor. The internal 1.1V voltage reference must
also be selected for the ADC voltage reference source in the temperature sensor measurement.
When the temperature sensor is enabled, the ADC converter can be used in single conversion
mode to measure the voltage over the temperature sensor.
The measured voltage has a linear relationship to the temperature as described in Table 23-2.
The voltage sensitivity is approximately 1 mV/°C and the accuracy of the temperature measure-
ment is +/- 10°C.

The values described in Table 23-2 are typical values. However, due to the process variation the
temperature sensor output voltage varies from one chip to another. To be capable of achieving
more accurate results the temperature measurement can be calibrated in the application soft-
ware. The software calibration requires that a calibration value is measured and stored in a
register or EEPROM for each chip, as a part of the production test. The software calibration can
be done utilizing the formula:
T = { [(ADCH << 8) | ADCL] - TOS} / k
where ADCn are the ADC data registers, k is a fixed coefficient and TOS is the temperature sen-
sor offset value determined and stored into EEPROM as a part of the production test.

+/- 10C is not too useful is it?

The effect of the environment on any electrical device can be countered by firstly getting it right, attaching heavy contact points and then submerging everything else in epoxy, clear or dark . Epoxy rather than casting resin as the latter is polyester which is permeable.

If its a device you sell for say $1000 then dark resin is the go to slow your competitors down