Is arduino good choice for profes. applications?

I'm gonna work soon on proffesional applications (LED advertisment's display's ) with atmega 328 stand alone chip and i would like to know if this chip is good enough for that. i am learning C code and i have succed on most things i have tried (thanks to this forum too).

so arduino is only for amateur aplications or it is good enough for profesional apps?

i really love the way it works (and his language) and i am afraid that it will be hard to start on another chipsets.

Usually it is to expensibe for professional applications. If you go into mass production you do not want to pay for more than the chip. The chip itself is OK. However if you need less pins --> go for a cheaper one. If you need less memory --> go for a cheaper one. If you need more pins / memory you have to decide, more expensive chip or more complicated circuit.

If you want to design an LED display you might want to consider what is already available and for what price. Chances are that the existing stuff is hard to beat. Sorry for that but better you do some research before you find out that you invested a lot and can not sell it.


It's been suggested to me that There are some potential problems in professional applications of Arduino. I've been told (for instance) that Arduino takes a significantly greater number of cycles to perform a task like DigitalWrite than it would if the code were written in standard C.

The ATMega 328 is a fine chip for professional applications. Arduino (in my view) is an excellent learning platform, and a great stepping stone, but not what you'd typically place into permanent, professional installations. Also, depending on your project, the 328 may be overkill , or significantly underpowered for what you're trying to accomplish. While Arduino is flexible, there are many different types of chips designed for different applications that would serve better in a more cost effective manner.

Disclaimer: I'm not an electrical engineer, my opinion is based on what I have learned thus far. If someone has a better, more informed answer. I yield to them.

The poor digitalRead/Write performace will soon be gone. However it is an issue of the libraries not of the chip itself. If you use direct port manipulation there is no performance issue at all.

Still you are right. Depending on the application it might be overpowered and thus to expensive.


I'm not an electrical engineer,

I am.

There is nothing wrong with using the arduino for professional applications if it meets the cost / performance / speed of development paradigm you are working to. How many are you going to make and what price can you sell them at are also very important.

Yes you can get cheaper chips but how do you cost your time researching / writing / de bugging and getting the tool chain for those devices.

I've been told (for instance) that Arduino takes a significantly greater number of cycles to perform a task like DigitalWrite than it would if the code were written in standard C.

Nothing is stopping you writing the code in standard C and by passing the digital write (use direct port addressing). Anyway is speed of execution always important, surly it depends on the application?

In my case i never buy a Arduino development board, i always use this platform for all the uP projects.

What i think is that this platform cost more than any other, why? is easy you can connect and make it work anything that you want. A lot of people was working at this platform writing code for a device collection.

In my case i found a nice wall when i decide use a 97J60 from microchip, if you do not are a C++ coder you dead at those compillers.

And this happend with the Arduino and his monster brother, the Wiring. That platform is an arduino with a lot of steroids!!! 256Kby Flash memory!. I been doing magic only with 8K in my at mega8 think what can be the limit with that size!.

And with this small cpu when i need more i/o i always do the same, in fact as it is builded inside a CPU, use shift registers to control more IOs.

Best Regards Frank ;)

What Grumpy said (all of it!)

I've been told (for instance) that Arduino takes a significantly greater number of cycles to perform a task like DigitalWrite than it would if the code were written in standard C.

Yes, that's mostly true. As a "professional", you'd be expected to determine whether or not that's relevant. A single-task microcontroller application NEVER has to be "as fast and efficient as possible" (the way an app running on a 100+ user timesharing system ought to be), it only has to be "fast enough." Systems FAR slower than Arduino have been successfully used in commercial applications for decades now...

I'm with GM as well.

I shouldn't worry about the libraries not being too efficient, Microsoft has been making a good living by writing sloppy inefficient slow code for donkey's years.

The Arduino is also a fine "prototyping environment" for trying out ideas within a nice simple framework. so you try out your code ideas using the arduino envionment. If it WORKS, your in gravy; off-the-shelf arduino code "just works." If it runs too slowly, you can look at the pieces of code that are likely to to be slower, and trade them up to "bare C" coding standards. If the code is STILL too slow, you can still try the whole thing in "bare C" within the arduino environment, maybe even with some assembler thrown in. IF it's still too slow, you have pretty much elminated the ATmegaxx8 as the core CPU. You can bring in an XMEGA with lots of extra memory and rewrite code to faster and bigger instead of just fast and small. If it's still not working, it's time to look beyond the AVRs. This is a pretty good range of info that you've discovered form your Arduino. $100 HW budget well spent!

i think the cost is low becouse i use only the chip 328 of that (as stand alone).

Their pins are fine for me. i am using shift registers when i need more.

And about speed its ok becouse i am not working on multiplexing (anymore). for example i am using 8 shift registers for 8x8 led display, so i dont need so much speed.