Why do (many) Engineer's hate Arduino?

Everywhere I have worked (except Specialized), Engineer’s choose to hate the Arduino platform.

They toss it off as a toy, and say it is nothing more.

I got my degree in Computer Science and now my job title is Electrical Engineer, thanks to the Arduino platform.

It bugs me greatly that when I talk to other Engineer’s about Arduino, they disregard it. Then they spend months of company engineering time, reinventing the wheel…

The issue I have in these conversations is that I don’t know how to argue their points. What are people’s thoughts on this? Can the Arduino be used in a “professional” environment?

The best way is to make a whole bunch of stuff with Arduino and show them up!! I’m an old Motorola assembler guy from 1980s, graduated to Microchip PICs in last 10 years. But then I saw what Arduino could do and now I’m completing projects right and left. I’ve got robots, train layout, displays, all running on Arduinos, the quickest way to get something built. Now I’m putting Atmega chips right on my PCBs, knowing how they work with the UNO. I TOO thought Arduino was just for “kids” but scrapped all my PIC stuff and went full bore Arduino. Show those guys up. Build something.

Aaaah yes thank you for your input!! That’s awesome to hear.

As for making a project, I did (what I think) is a really cool one with this one here,

viewtopic.php?f=141&t=53464&p=217448&si … 2a#p217448

https://i.ibb.co/WWDgyLN/20200711-163233.jpg

I used Sparkfun’s Artemis board as the brain for my NixieTubeWatch that will allow me to extend functionality to make some really cool features!

Soldered it myself just fine too. It’s not a “product” though, so I feel undermined by that element.

One argument that I should look into, is when people say that their firmware needs to be read protected. I’m not sure how to go about doing that using the Arduino platform but I am sure it’s possible. I should look into that. It’s against the idea of Arduino, but as far as using it in a company/product, it seems to be demanded.

A lot of industrial uses can’t use the Arduino platform because most (close to all) Arduino products are not meant or rated for industrial applications. They can, and people have used them, but they’re not intended for it. It was originally a teaching tool and people (including Arduino themselves) have put in a lot of time elevating from that original goal.

I’ve always found stubbornness to other technologies a very common trait in the engineering world. You learn it one way and it’s what you know. Even I dislike Python, but I do acknowledge the many advantages and uses Python has. It just doesn’t interest me. So I’m personally not going to devote a lot of time to Micro-Python, despite it’s advantages. Just my flavor of ice cream I suppose.

I feel that you should branch and at least understand and learn other platforms. However, if your job and livelihood doesn’t depend on it then it’s optional.

If you want to see one of the solutions SparkFun is developing to address this gap between prototyping and final production then check out their Artemis module: https://www.sparkfun.com/artemis. It’s going to also bridge three different development platforms; Ambiq Apollo3 SDK, MBed OS, and Arduino.

Enjoy what you do and learn what you don’t know yet. Have fun with it and ignore grumpy developers that have no drive to innovate.

At work, (a large appliance company) we use Arduinos (as well as the ST Nucleo line and Raspberry Pi) a lot for lab prototypes, testing out new concepts, and controlling test fixtures. It’s a convenient way to quickly toss something together to try it out. We wouldn’t use them in commercial products since they are too expensive (when you make 100k of a unit, every penny counts).

Some engineers have just picked up on the “arduino is a toy” message without investigating further; others may be turned off by the poor performance of the included libraries or having to track down licensing for libraries. For me, it often gets me past the “must build all the framework and code” part so I can code and test the device or process I want to.

/mike

Thanks for the input guys.

That all makes a lot of sense, I’ve been in similar shoes I think. I personally ran with the arduino platform to make some sweet data loggers at so companies I worked at. Particularly with a Teensy.

I love the platform because it lets me focus on creating something, rather then picking through the fine details of uController code, which to be frank, isn’t enjoyable to me. Making things, is though.

-Chris

I don’t really see any reason not to use it even in a commercial product. It’s the only portable standard for embedded systems. Just try making a library that runs on as many different unrelated microcontroller as an Arduino lib, and it’s probably going to be pretty hard.

I’ve used it at basically every job I’ve had, and very rarely had a problem.

Engineers seem to be biased against anything easy, integrated, or convienent, there’s still a lot of lingering “Old fashioned is better” kind of ideas. Heck, some people still look down on microcontrollers and would rather do analog and mechanical!

There’s definitely things you can’t do without getting more low level, even though you can usually still do them from inside an Arduino lib, and the Arduino hardware itself is good but not really anything special or impressive.

For my “2 cents”… I would add debugging and bare metal gripes:

  • Arduino is limited to serial debugging, which can be annoying when you have to wait for code to compile from scratch

  • Bare metal as in squeezing every bit of performance out of the chip as possible at the lowest level