Hacker News new | ask | show | jobs
by Gussy 5390 days ago
The reason it doesn't get used for serious or complex projects is simply because of it's lack of capabilities. The big one is debugging and this is a huge reason for why you won't see EEs using these at their day jobs. Electronic engineers are accustomed to being able to step through code, watch variables and all the other niceties that in-circuit debugging offers. With Arduino you lose all of this, your flying blind with maybe a flashing LED or a serial output to help you out. Who knows how you will detect elusive bugs like out-of-bound array errors. The time you gain with some nice wrapper functions and libraries you will quickly lose when trying to debug a complex project. Features wise, you can do things most of the more advanced features which require bit manipulation of the AVRs registers like interrupts, timers, etc. with Arduino. Though at that point the lines are so blurred because half your code is AVR-GCC and half is Arduino. Why don't we see the simple consumer products using Arduinos? I don't know for sure but it's most likely because something simple is just as quick to code without the Arduino libraries.

Atmel and most other micro suppliers are now coming out with their own "frameworks" these days, which are similar to Arduino in providing libraries for common tasks with a similar level of abstraction to Arduino, without the loss of the higher level functionality like debugging. These are a lot more attractive to EEs than Arduino is.

It will be interesting to see how this changes over the next 5 or so years. By then most of the young engineers who grew up with Arduino or were even introduced to electronics with Arduino will have graduated University and will be working in the industry. It will be interesting to see the effects that this generation of new engineers have.

1 comments

What are the interesting frameworks these days?
The closest ones I know of are FreeScale's PE (Processor Expert) which has been around a while and is quite decent; I've used it with the HCS08's.

TI started one for its MSP430's called Grace this summer, but it's very very primitive thus far.

Atmel also has one called FLIP for its USB-enabled MCU's to make them act as various USB profiles/devices.

ST has a very nice "Standard Peripheries Library" for their STM32 ARM Cortex M3 line which abstracts all the bit and register manipulation away in a very elegant manner. Atmel has the "AVR Software Framework" which I have heard good things about but haven't used it myself.

Nearly all the chip manufacturers I know of have some sort of framework/library for their Cortex M3 line (which is what is in the new Arduino).