Mi opinión al respecto:
Arduino es una plataforma hardware y software totalmente libre. Donde el usuario con conocimientos
básicos de electrónica puede crear proyectos básicos como prender o apagar un led, hasta realizar
complejos sistemas de navegación para UAV, entre otros proyectos. Los esquemas de las placas, como así también todo el software asociado, está disponible para que el público lo descargue y modifique como mejor le parezca.
Hay que tener en cuenta que el entorno de programación es C++ y una mezcla de java. Esto nos dá
muchas facilidades a la hora de programar. Muchos dicen que es para novatos o pseudoaprendices de
programador, pero la realidad es que cualquiera que sepa programa en C lo puede usar...no hace falta
utilizar el lenguaje de arduino, podés usar C o C ++ y crear tus proyectos sin problemas. Además es
totalmente ANSI C, con las salvedades a tener en cuenta por el hecho de que se usa un microcontrolador y no una PC.
Con respecto al tener que usar Arduino solo con las placas Arduino, eso lo dice alguien que no conoce como trabaja realmente arduino. El microcontrolador, ya sea el ATmega8, ATmega168, ATmega328P, ATmega1280 o el más grande ATmega2560, tienen un bootloader dentro de la memoria de programa que te permite descargarle el archivo .hex a través de la IDE de Arduino, sin necesidad de un programador.
Lo único que necesitas es un conversor USB serial o un puerto serial normal para descargar tus programas a través de la PC. En caso de que quieras grabar los programas, sin utilizar el bootloader (para tener más espacio en dicha memoria) le podés conectar cualquier grabador USB para AVR y descargarlos en tu placa de aplicación como si fuera cualquier microcontrolador.
Para cerrar la idea, si tenés tu propia placa de desarrollo Arduino podés usarla, no hace falta comprar la original.
El proyecto que hay de Arduino para PIC, Pingüino, está todavía en fase de desarrollo, es un proyecto interesante para los que quieran usar microcontroladores PIC. El problema es que no tiene un gran soporte como lo tiene Arduino por la comunidad internacional y avanza muy lentamente. La IDE quizás no es tan intuitiva como la IDE para arduino. Más allá de los problemas que se plantean, Microchip y Digilent se pusieron de acuerdo para desarrollar el concepto de ChipKit, usando microcontroladores PIC32 para sus placas compatibles con Arduino. El resultado de dicho desarrollo fue muy tibio, teniendo una acogida moderada, con muchos problemas de funcionamiento básicos al momento de su lanzamiento..un producto a medio terminar.
Arduino tiene librerías para todo o casi todo, desarrolladas por el grupo de desarrollo de Arduino o por la comunidad que lo sigue, pudiendo conectar casi cualquier cosa a la placa de desarrollo. Muchos dirán que no ofrecen buena flexibilidad a la hora del desarrollo, pero la verdad es que usando las librerías, los tiempos de desarrollo se acortan casi en un 80%.
En caso de que se necesite una aplicación final o un producto que use software Arduino, no tenés que pagar ningún tipo de licencia, ya que la misma es libre para cualquier uso. Igual en este punto habría que hacer un parate y leer mejor las condiciones de uso del lenguaje.
Con respecto a los módulos para arduino o los famosos shield compatibles, es una manera de facilitarle al usuario final el desarrollo de su aplicación. No por esto es para novatos, en cambio es usados por profesionales del desarrollo debido a la facilidad para crear una aplicación comercial en poco tiempo. Esto con PIC también se puede hacer, pero hay que tener en cuenta que tenemos que programar nosotros mismos las librerías (una buena práctica si se tiene experiencia en el manejo del lenguaje C).
Otra gran ventaja es que el micro es "ni lo se ni me importa" el mismo entorno y el mismo código funciona en todos ellos
Muchos creen que no hay que saber nada respecto del microcontrolador, pero eso es mentira. Es necesario saber su estructura interna para buscar errores de programación o determinar la funcionalidad de un programa en especifico. El microcontrolador en si mismo no es nada, pero es parte del entorno hardware que componen la placa Arduino.
Le llamamos entorno software al IDE de desarrollo en conjunto con el bootloader que está cargado internamente en el microcontrolador.
En fin esa es mi opinión, espero les ayude a entender un poco más de que se trata Arduino.