well, guys. looks like time to wrap up. Seems like Arduino is on its way to being suitable for professional development, but still needs its language ported first
Maybe that's why I got oyut of PC system programming many years ago and have settled into the MCU wirld. It's not at all unthinkable that a full OS, like Linux just doesn't fit with my brain.
I like the concept of Linux more than I like Linux. Whenever I've tried a serious Linux project, I run into a similar issue with the support. There's a ton out there for PC-based Linux, but it seems to be obscured by a lot of the "SUSE is better. No Ubunto is better..." noise.
Rich - That's interesting about the fragmented support. Maybe it's just a matter of calendar time. It was designed for a purpose similar to the Arduino, but the Arduino has been around a lot longer.
I find the RPi support fragmented and inconsistent, and thus difficult to use. Takes a lot more searching to find only clues (not answers) than I have time for.
I keep thinking about a Rasberry Pi as a brain for my robot. I guess the investment is low enough that it might be worth buying one just to try it. I have a Beagleboard already.
Agree -- the BB is much more for hardware geeks, while the RPi is for computer folk. DIfferent segments again. What do you think of the available RPi support out there Rich?
Curt - the Raspberry Pi seems to be a much more complete system. I'd put it in the same camp, but more or less at the top of the camp with the BB at the bottom to the camp.
@curt, you may well be right, but the fact NXP chose to make its latest board arduino compatible makes me think that MCU vendors are considering the possibility that Arduino can burst out of that niche, and getting ready to support that move. If they are right, and they are in a position to get the arduino community to move to their MCU, they might have a huge new market.
@duane, that is what I was thinking might happen. THe NXP board is a step in that direction and I wondered how much further we need to go to get there.
Rich -In my day job, I've run aross a fair number of engineers that are not of the electronic or software type that have been tesked with building electronics into some mechanical sustem. Today, there's a massive learning curve. But with a sufficiently powerful Arduino, the language, peripheral support and community support could make such a job dramatically easier.
@curt, but will it stay in that niche? When there is a lot of support, it becomes interesting to time-constrained developers. Not for all applications, of course, but for many.
I don't think a professional would want to get locked into arduino hardware or software would she? Wouldn't she be better off investing her intellectual effort in C with libraries, or equivalent, and a good set of breadboarding tools?
Which isn't to say that arduino isn't serving a niche very well -- it clearly is.
I can remember hearing people talk about Pythin as not being a real language, that it had too much overhead and was really just for hacks and beginners. But I think it's pretty well accepted as a professiona-grade language now.
I've heard the same thing about the Arduino language; that it has too much overhead. I think it just needs a faster processor, like a nice 32 bit ARM.
should that bridge be completed, how do you think this will affect MCU-based design? Seems to me that it opens up commercial development to those who are more application experts than they are MCU developers
Rich - I would say that you do get some advantage. There are a lot of peripheral put together in the Arduino form-factor, but you'd get significantly more advantage with the language ported.
Curt, my answer to the Why is to gain access to the stuff available so you don't have to reinvent. My question remains, is that now practical given clones like the PIC and NXP
I would like to see the creation of some intermediate level drivers. If all you needed to do was 'plug in' some characteristics for your hardware (like locations of registers, control bits, etc) then the drivers could be more agnostic. The FPGA guys have done this and even provide 'wizards' to simplify the process of driver generation. Maybe we could do somehting similar for Arduino. Kind of the equivalent of a standard 'pinout'...
That's the point of my R/C servo board example: the drivers are written in the Arduino language. I could used it on my FPGA Arduino and presumably the Microchip PIC32 Arduino with the same code. But I can't use anything other than the wiring on a board without the language.
I've not used arduino, but have read raves from people who want to focus on their application rather than their MCU technology. So it's serving a special market segment very well I guess.-- which makes the question "_why_ would you want to use it in a professional system?"
Rich -From what I can tell, drivers written in teh Arduino language could be used on just about any type of Arduino - maybe with just a few tweaks. But without the language ported to the particular MCU, that won't do you an good. The drivers I've seen are all writteing in the Arduino language.
I wouldn't look at going to a nice an powerful 32-bit ARM as a code portability advantage. I'd look at it as using a high-overhead language on a platform that is capable of running that language with adequate performance.
I bout a multi-servo board from Adafruit - it can drive 16 R/C servos using I2C. It took me about five minutes to get it working with my Arduino. To get it working with one of my generic systesm, I have to spend a lot of time in a long datasheet styudying a very complex chip.
ok, curt. So I oversimplify a bit. Still, developing on the same 32-bit MCU you will use in the final design is a lot more portable than developing on an 8-bit MCU before porting.
Looking at the Arduino as a hardware specification brings a lot of pre-built peripherals into your arsenal. But without the language, it loses much of the learning component of the system as well as the low barrier to entry aspect.
duane, agreed software is the more important element, which is one reason the original arduino wasnt a good basis for a commerical development - too limited. But if you can leverage the support while working with a high power MCU, then the software you develop can be readily ported to your final design as opposed to recompiling the source from the ATMega to another MCU, with all the attendant timing and resource issues.
Rich - My understanding is that original motivation for the Arduino put the software as being as important a prt of the system, if not more so than the hardware. With that being the case, it might evolve to the point where it's just an easy to use language with a good set of libraries and a set of defined hardware parameters.
actually, dirceu, I am wondering about the arduino ecosystem at this point. The board itself probably can't go professional in a big way, but the support that has risen around it might be able to.
However - I like the idea of the PIC32 Arduino-compatible and the NXP Arduino-compatible. Microchip and Digilent have an open source version of the Arduino langage for their 32 bit Arduino. I'd like to see the same for the NXP Arduino.
I've been looking at a few peripherals: GPS, RTC, WiFi, Ethernet, and the Arduino and the mbed have made the job of learning the device a lot easier. It takes away some of the variables in the test system.
So, regarding arduino. I have been working with the impression that it really isnt suitable for commercial development. Am I wrong on that? And I am speaking of the original. Are there professional-level clones besides the one from NXP? Are they being used for commercial development?
When you say "Can Arduino Go Professional", you are referring only to the original design or that the enormity of clone boards (such as FRDM-KL25Z, FEZ Domino and ...), which just utilize the layout of the connectors (which use other languages not based on Wiring)?
Join us for a live chat exploring the possibilities for leveraging the Arduino ecosystem in professional, commercial development. Be here at 11am (1600 GMT) Eastern US time to let us know what you think.
To save this item to your list of favorite Microcontroller Central content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.