Author Topic: (SOLVED/ANSWERED)Why NOT use an Arduino for professional project?  (Read 25170 times)

0 Members and 1 Guest are viewing this topic.

Offline tpowell1830Topic starter

  • Frequent Contributor
  • **
  • Posts: 863
  • Country: us
  • Peacefully retired from industry, active in life
I was wondering, because I have heard embedded developers say that Arduinos should never be used for a professional product or project. The only reason that I can think of, not being an embedded developer, is that Arduinos are so easy to change the running software. Is that the reasoning behind not using Arduino, even if it is in scope of use, on a product?

Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?
« Last Edit: May 23, 2018, 02:09:56 pm by tpowell1830 »
PEACE===>T
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9886
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #1 on: May 16, 2018, 04:26:48 pm »
On a product you are unlikely to need all the headers and board space.  More likely, the product would be developed with an Arduino but built with just the ATmega328P chip - assuming the Arduino had sufficient resources.

Then there may be licensing or copyright issues - I wouldn't know anything about that.

If I were going to incorporate an Arduino, it would be the Nano for the form factor.  I would just plug it into a motherboard and call it good.  I tend to do that for my more permanent projects.  I just design the interface board and plug in the uC.  In fact, I have a PCB coming in tomorrow where I built Ben Eater's EEPROM programmer.  The PCB carries the Nano, a ZIF socket and a couple of 74LS595s.  The board it trivial but it should stay together a lot better than a prototype board with jumper wires.  Using the Nano doesn't take up much board space and I can just solder the Arduino right to the PCB.

 

Online igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Why NOT use an Arduino for professional project?
« Reply #2 on: May 16, 2018, 04:30:21 pm »
On the hardware side, the cheap clones are unreliable, while the genuine ones are very expensive. Also, for most professional projects you have no use for the  Arduino board that surrounds the microcontroller, it just limits your design and takes up precious space.

I won't even start talking about the software  ;)
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9886
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #3 on: May 16, 2018, 04:36:45 pm »
I won't even start talking about the software  ;)

One way is to do the development with the Arduino libraries and then start over with bare metal for the product.  Most of the library code won't be required and the bits that are can be rewritten.

For modest projects, I think the Arduino is a fast way to do 'proof of concept'.  mbed (and all the variants) is another.  There's a huge leap between an Arduino and an ARM Cortex <whatever> in terms of memory size, speed, peripherals and just about everything else.  I really like the original LPC1768 mbed board.  The online toolchain works well (although it is optional) and just dragging and dropping the executable onto the mbed device is a very slick way to program the device.

Many of the STM32F boards are mbed compatible and supported by the online toolchain.  They also support drag and drop for the executable.  Very easy to work with.
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11228
  • Country: us
    • Personal site
Re: Why NOT use an Arduino for professional project?
« Reply #4 on: May 16, 2018, 04:37:27 pm »
"Never" is not in a sense that is is bad, it is just impractical for majority of production work, so you might just as well not use it at all. Qualified programmer can make things work with much less code with hand-written code, and AVRs are not all that hard to program that you would need an extensive support library. An less code means less effort in supporting and maintaining it.

And this is only about the software, using actual Arduino boards in production devices makes no sense on any level.
Alex
 
The following users thanked this post: XFDDesign

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11228
  • Country: us
    • Personal site
Re: Why NOT use an Arduino for professional project?
« Reply #5 on: May 16, 2018, 04:39:31 pm »
One way is to do the development with the Arduino libraries and then start over with bare metal for the product.  Most of the library code won't be required and the bits that are can be rewritten.
This is not a great way, since you are being locked into architecture imposed by the Arduino environment, so even if you replace all the components, it will still have Arduino look and feel. Unless you want to rewrite everything, which you should have done to begin with.
Alex
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Why NOT use an Arduino for professional project?
« Reply #6 on: May 16, 2018, 04:43:44 pm »
I was wondering, because I have heard embedded developers say that Arduinos should never be used for a professional product or project. The only reason that I can think of, not being an embedded developer, is that Arduinos are so easy to change the running software. Is that the reasoning behind not using Arduino, even if it is in scope of use, on a product?

Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?

If you have to spin a board for a custom shield, then you might as well include the microcontroller and its support stuff on that board, too. And that's when the Arduino becomes unnecessary.

And since you're spinning your own board, you might as well get rid of the stuff you don't need, add things you do need, and make it in the form factor your design requires.
 
The following users thanked this post: laseralex

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #7 on: May 16, 2018, 04:45:28 pm »
On the hardware side, the cheap clones are unreliable, while the genuine ones are very expensive.


That has not been my experience at all. I have a bunch of the cheap clones and I cannot tell any difference in operation between those and the real deal.

I would never personally integrate an Arduino into a commercial product, that's just sloppy, but I suppose it wouldn't hurt to use the bootloader and software. I think the biggest issue you'd have is protecting your code if you care about that, I don't think the Arduino environment lets you lock the code.
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: Why NOT use an Arduino for professional project?
« Reply #8 on: May 16, 2018, 04:50:43 pm »
A surprising number of companies use Arduino units in production equipment.
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11228
  • Country: us
    • Personal site
Re: Why NOT use an Arduino for professional project?
« Reply #9 on: May 16, 2018, 04:51:43 pm »
A surprising number of companies use Arduino units in production equipment.
Any specific examples? Apart from sketchy 3D printers, of course.
Alex
 
The following users thanked this post: ivan747, laseralex

Offline tpowell1830Topic starter

  • Frequent Contributor
  • **
  • Posts: 863
  • Country: us
  • Peacefully retired from industry, active in life
Re: Why NOT use an Arduino for professional project?
« Reply #10 on: May 16, 2018, 05:01:55 pm »
I guess I have made a post that has many opinions, however, my question is clear. I am seeing many opinions, yet no answers to my basic question. I see the word 'sloppy' with no explanation, 'should never be used' with no explanation.

Folks, I am looking for reasons why not to use an Arduino when it WILL do the job. Please use words as to why it is a bad idea, not personal opinions. I have already stated the 'protecting the software' part, what other reasons?

As for 'sketchy 3d printers', what makes them 'sketchy'?

Ok, cost seems to be thrown in, how much does an Arduino cost compare to a custom board?

One said the software is not up to snuff? How? Why?

I appreciate input from all.
PEACE===>T
 

Online igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Why NOT use an Arduino for professional project?
« Reply #11 on: May 16, 2018, 05:12:11 pm »
That has not been my experience at all. I have a bunch of the cheap clones and I cannot tell any difference in operation between those and the real deal.

Unfortunately, I personally encountered and/or repaired quite a few faulty clones. It could be anything, from poor soldering to wrong capacitor values or dysfunctional crystals. While some branded clones may be better than the cheapest anonymous ones, I still don't trust them for any project that actually needs to be reliable.

I do use Arduinos a lot, clones included, for hobby work, small tests etc.
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 
The following users thanked this post: ivan747

Online igendel

  • Frequent Contributor
  • **
  • Posts: 359
  • Country: il
    • It's Every Bit For Itself (Programming & MCU blog)
Re: Why NOT use an Arduino for professional project?
« Reply #12 on: May 16, 2018, 05:22:06 pm »
Ok, cost seems to be thrown in, how much does an Arduino cost compare to a custom board?

Obviously that depends on what else is on the custom board. And let's say you need an external memory chip. On a custom board that's an integral part of the design, but how do you attach it to the Arduino? How much would THAT cost you?

One said the software is not up to snuff? How? Why?

Again, depends on what you need to do. The simplest and most famous example, perhaps, is changing an output pin's output. The Arduino's "digitalWrite" command is about 40 times slower than direct port register manipulation. If, in your professional project, your microcontroller has to interact with fast electronics, this difference can be very significant.
Maker projects, tutorials etc. on my Youtube channel: https://www.youtube.com/user/idogendel/
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11228
  • Country: us
    • Personal site
Re: Why NOT use an Arduino for professional project?
« Reply #13 on: May 16, 2018, 05:25:07 pm »
I appreciate input from all.

Well, it is not like there is a single huge blocking issue with Arduino. There are a lot of small ones. The one got mentioned for example - do you want code security? Well, with plain Arduino you are out of luck. Want in-field updates? With Arduino bootloader you are limited to what it can do.

There are minor limitations for production work that are all over the place. Not one of them is a deal breaker, but as a whole you better off designing stuff from scratch.

And the bigger problem with starting with Arduino and moving away is that it does not buy you much in the end, yet you end up with a project structure that carries a history of drastic changes, instead of being cleanly engineered.

Arduino gives you immediate gratification, and if this is something you need, then by all means go for it.
« Last Edit: May 16, 2018, 05:27:47 pm by ataradov »
Alex
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26751
  • Country: nl
    • NCT Developments
Re: Why NOT use an Arduino for professional project?
« Reply #14 on: May 16, 2018, 05:26:58 pm »
I was wondering, because I have heard embedded developers say that Arduinos should never be used for a professional product or project. The only reason that I can think of, not being an embedded developer, is that Arduinos are so easy to change the running software. Is that the reasoning behind not using Arduino, even if it is in scope of use, on a product?

Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?
I'd split this into two sections: hardware and software
The hardware is unsuitable because connecting boards together is asking for connection and EMC problems. For a professional product you'll need a good, single PCB design with protection on the power supply and inputs/outputs.

OTOH I don't see why you can't use the software. If you test it thouroughly and it works then it works.
« Last Edit: May 16, 2018, 05:28:49 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2495
  • Country: gb
Re: Why NOT use an Arduino for professional project?
« Reply #15 on: May 16, 2018, 05:35:07 pm »
Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?
No reason unless you can find something cheaper... adding a AVR to your own PCB is probably cheaper and if you so wish you can make it Arduino eco-system compatible, 
Other solutions might give you some extra features... e.g. debugging and closer to bare metal performance.

 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: Why NOT use an Arduino for professional project?
« Reply #16 on: May 16, 2018, 10:58:09 pm »
A surprising number of companies use Arduino units in production equipment.
Any specific examples? Apart from sketchy 3D printers, of course.
I wasn't talking about 3d printers, I have been asked to update some products for at least 3 different companies who's products use Arduino, I can't give specifics, but I can tell you the industries include food + drink, transport and environment sensors, all with an actual Arduino dumped in the enclosure.  These companies don't seem to really care for the hardware, they subcontract it to presumably whoever was cheapest at the time and as long as they get a "blinky box" that works, they don't really care for much else.  Most if not all completely unmarked for CE, and a good number of wireless devices used.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #17 on: May 16, 2018, 11:01:27 pm »
I wonder who they're subcontracting it to? Highschool students? I mean sure it will work, but that's just sloppy. It's like buying a new car and finding that the infotainment unit is an off the shelf laptop glued behind the dash.
 

Offline ataradov

  • Super Contributor
  • ***
  • Posts: 11228
  • Country: us
    • Personal site
Re: Why NOT use an Arduino for professional project?
« Reply #18 on: May 16, 2018, 11:02:35 pm »
These companies don't seem to really care for the hardware
Well, yes, if you don't care, then for sure use Arduino, RPi, or whatever you can find in your trash bin.

Sure for one-off products that will never be updated or maintaned it may work.
Alex
 

Online IanB

  • Super Contributor
  • ***
  • Posts: 11790
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #19 on: May 16, 2018, 11:10:04 pm »
I was wondering, because I have heard embedded developers say that Arduinos should never be used for a professional product or project. The only reason that I can think of, not being an embedded developer, is that Arduinos are so easy to change the running software. Is that the reasoning behind not using Arduino, even if it is in scope of use, on a product?

Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?

For a one-off, or a low volume custom solution, then maybe an Arduino is convenient. It is a well defined and understood unit available off the shelf with a variety of interface options. For low volumes, off-the-shelf hardware is much cheaper than development time spent on custom solutions. Just the same way that nobody would design their own power supply module in preference to buying one in.

That said, for a high volume commercial product, an Arduino would make much less sense:
- it is too large
- it carries unnecessary functionality
- it is inefficient
- it misses some custom functions that may be needed
- it is too expensive in volume
- it doesn't integrate tightly with off-board parts
- etc.
 
The following users thanked this post: ivan747

Offline Thewafflication

  • Contributor
  • Posts: 17
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #20 on: May 16, 2018, 11:12:51 pm »
A surprising number of companies use Arduino units in production equipment.
Any specific examples? Apart from sketchy 3D printers, of course.

I can't say where, but generally they are used in places they don't belong...
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #21 on: May 16, 2018, 11:17:25 pm »
If you insist on embedding an Arduino, at least use one of the nanos with soldered connections, not the chunky full sized thing with a shield stuck on it.
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9886
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #22 on: May 16, 2018, 11:49:26 pm »
And the bigger problem with starting with Arduino and moving away is that it does not buy you much in the end, yet you end up with a project structure that carries a history of drastic changes, instead of being cleanly engineered.

Arduino gives you immediate gratification, and if this is something you need, then by all means go for it.


As I mentioned above, if an ATmega328P is workable, using an Arduino for 'proof of concept' makes a lot of sense.  Then, if the project is released for development just rewrite the code for a bare chip.  It doesn't make sense to spend a lot of time on something that will never see the light of day.  Certainly not the time required to essentially rewrite some libraries.

Throw it together, put on the dog and pony show and, if you get funding, build the final product using only the chips actually required.  For example, there may be no need for the FTDI chip if you don't use serial IO.  The device can be programmed with ICSP.  This eliminates simple field upgrades but, hey, get it right the first time.

All assuming, of course, that the Arduino is adequate for even the concept stage.  If I was in the AVR camp, I might gravitate toward the ATmega128.  I really like that chip!

 

Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 3996
  • Country: nz
Re: Why NOT use an Arduino for professional project?
« Reply #23 on: May 17, 2018, 02:06:12 am »
I was wondering, because I have heard embedded developers say that Arduinos should never be used for a professional product or project. The only reason that I can think of, not being an embedded developer, is that Arduinos are so easy to change the running software. Is that the reasoning behind not using Arduino, even if it is in scope of use, on a product?

Can someone name other reasons why you wouldn't use an Arduino, if it would do the job?

It depends on the product. It depends on how many will be made. On how much engineering cost is acceptable vs the hardware cost. On whether the board is the entire product, or just some small component off on a corner of some bigger machine.

If you're going to be making millions of them and every cent needs to be shaved off the bill of materials, then of course you won't ship an actual Arduino in the final product. You might well use one to prototype ideas. When I was working at Samsung we tested ideas on Raspberry Pi or Odroid before we tried them in a Galaxy S. The turn-around time is just so much faster, you can develop on the dev board itself instead of cross-compiling if you want, and even if you cross-compile scp/ssh is way faster than odin or adb. And you have a real *nix environment on the test device.

If you're not a huge manufacturer but a small consultant and you're only going to be making something between one and a hundred of the thing, then why not use an actual Arduino board? It doesn't make sense to save ever $50 off the parts cost if it means you have to charge $10k more for your time to design, layout, and manufacture your own board. Just make sure you solder the board into the thing for reliability, and you'll want to use one of the boards designed for that.

That's hardware.

As for software .. if you are not pushing on the limits of performance of the AVR (and many or most projects are not) then there's nothing particularly wrong with using the Arduino libraries.They are built for ease of use and portability rather than performance, but it's not as if they are more buggy than code you'd write yourself. (And if you do find a bug, for goodness sake fix it and submit the fix back for others). If whatever you're using it for has to respond to things on the scale of seconds or milliseconds then the Arduino library is just fine. If you have to respond to things in 1 us or 10 us then no.
 
The following users thanked this post: tpowell1830

Offline ehughes

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: Why NOT use an Arduino for professional project?
« Reply #24 on: May 17, 2018, 03:03:13 am »
Because it makes zero sense for product with a volume greater than 1 unit.   Just put your MCU directly on the board.   Why pay a a margin on a board that doesnt provide any value in your product.     



 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf