Is it better to move to AVR studio (or any other better alternative?) over the Arduino IDE. Feel like it's so simple and childish. I need to know the experts idea and choice..
|
|
A huge advantage of using e.g. AVR Studio is the ability to use all the libraries made for ATmega168/328 before the dawn of Arduino. FFT libraries, libraries for using some obscure IC you have purchased, rudimentary digital filters, and many more can be found on AVRfreaks and hundreds of other hobby sites. You can also write more efficient code if you learn how to utilize standard AVR libraries and study the microcontroller's datasheet (or tutorials). For simple applications, arduino code is easy to write and debug. However, sometimes you want to control the timing more efficiently. Also, if you ever want to program any AVR chip other than those offered by Arduino, you will need a programmer and a different IDE. Small projects that use 1kB of code can be done on an ATtiny. You can buy a dozen of those for the price of a single ATmega328. Those chips are cheap and have most of Arduino's capabilities: I2C, SPI, ADC. You can even find libraries that add a USB HID interface! No serial drivers or anything! Personally, I first write code in the Arduino IDE, without code optimization. If it works, that code can be easily transcribed into standard C++ libraries and made more efficient. |
|||
|
|
|
It's simple because it has to be accessible to everybody, and that works: everybody and his little sister can program Arduino. If you feel you can handle something more like Real Programming I would certainly do so. You'll have to write more code, but also will have more control. An important point: the Arduino library is horribly inefficient: functions like |
|||||||||||||||
|
|
Most of the responses have focused on using the Arduino board as a standard AVR board. But you can also use a more advanced IDE and still take advantage of the simplicity of the Arduino coding and built-in libraries (along with the disadvantages mentioned above). EngBlaze just did a tutorial on this: Tutorial: Using Atmel Studio 6 with Arduino projects |
|||
|
|
|
The Arduino IDE trades code efficiency for convenience and speed of development for small projects. Because experts have deadlines too, it's perfectly acceptable to use the Arduino IDE for a quick proof-of-concept or to help debug another project. If you want to specialize in embedded software development, you must be able to use more powerful development tools, such as AVR Studio, or avr-gcc and your preferred IDE. Going beyond mastering the development tools, learning the inner workings of a microcontroller and knowing some assembly is definitely a plus if you intend to work on systems with small memory, and/or low power requirements, and/or high performance. |
|||||||
|
|
"Better" can mean many things! It would certainly look better on your resume, if that's of any value. |
|||||
|

