Desde hace mucho programar está al alcance de todos nosotros. Sobre todo gracias a lenguajes como Scratch y el impulso que se ha dado a la informática desde los colegios con proyectos como el de la Raspberry Pi Foundation. Y si hablamos de hardware, hay una frase que creo que es totalmente cierta: "el hardware es el nuevo software". Nunca ha sido más fácil coger componentes, juntarlos y con una mínima programación hacer algo totalmente nuevo.
En internet encontramos tantos y tantos proyectos por hacer que muchas veces es difícil decidirse. Pero, si queremos crear algo desde el principio, ¿Empezamos con una Raspberry Pi o con un Arduino?
Raspberry Pi y Arduino, dos filosofías diferentes para nuestros proyectos
Antes de nada debo aclarar que no voy a comparar Raspberry Pi con Arduino. Simplemente porque no son comparables. Son dos productos diferentes, con fines diferentes, pero que gracias a la imaginación de la comunidad maker sirven para crear proyectos nuevos. Proyectos tan distintos como hacer un navegador para el coche, una impresora 3D, un cuadricóptero o mandar un sistema a la estratosfera con un globo a nada menos que 40 km de altura para hacer fotos y mediciones.

En la entrada que dedicamos a Arduino el otro día comentaba que Arduino es tanto Hardware como Software. Con ello, y gracias a los emuladores existentes y sin tocar una pieza de hardware, podemos simular un proyecto desde nuestro ordenador. Podemos programarlo y hacer las conexiones virtuales para ver cómo se comportaría. Arduino es una plataforma simple y dedicada precisamente a eso, a montar sobre ella los componentes necesarios para hacer los proyectos. Pero, como también vimos, hay dos grandes proyectos para hacer con Arduino, aquellos en los que utilizamos el microcontrolador como único elemento "inteligente" del proyecto y en los que utilizamos el Arduino como interfaz.
La Raspberry Pi Foundation ha creado un ordenador para enseñar informática a la antigua usanza. La Raspberry Pi es un ordenador asequible, suficientemente potente para facilitar el aprendizaje y realizar tareas básicas en las aulas. Incluso programar y compilar programas que se ejecuten en la Raspberry Pi. Y todo ello en un tamaño mínimo, alimentado con un cargador de móvil de 2 amperios y que da muchísimo juego para todo tipo de proyectos.
La Raspberry Pi modelo B equivaldría en rendimiento a un ordenador con un 386 de intel, recordad que no hace muchos años teníamos uno en nuestro ordenador de sobremesa. La potencia ha mejorado bastante (x6 dependiendo del uso) al contar con un procesador ARM Cortex-A7 de cuatro núcleos en la Raspberry Pi modelo 2, un procesador gráfico que permite la reproducción de vídeo HD de forma totalmente fluida, una memoria de 1 GB de RAM y cuatro puertos USB. En la Raspberry Pi además contamos con una conexión de red ethernet (no es gigabit, para ello tenemos otras placas como la Odroid C1 o la recién presentada Odroid-C1+ con un precio similar). Si no necesitamos tanto potencia o tenemos que ahorrar en consumo, la Raspberry Pi modelo A+ puede servirnos a costa de perder funciones por el camino, como el anteriormente mencionado conector de red o el número de puertos USB.
Pros y contras de Raspberry Pi y de Arduino
El punto fuerte de Arduino no es su potencia de cálculo, ni la memoria de la placa, ni la frecuencia del procesador. Entonces, ¿Por qué debemos considerar dichas placas para utilizarlas a la hora de crear algo? El punto fuerte de Arduino está en la facilidad de conectarse con el mundo, gracias a las entradas tanto analógicas como digitales con las que cuenta y de lo fácil que resulta activar o desactivar una de las entradas/salidas gracias a su software.
Un Arduino UNO R3 tiene catorce pines de entrada salida digital, de los cuales seis pueden ser utilizados como salidas PWM y controlar con ellos la velocidad de motores, por ejemplo. También tiene 6 entradas analógicas, una frecuencia de 16 MHz y un conector USB y un ICSP. Un Arduino Mega cuenta con nada menos que 54 pines de entrada salida digital (15 usables como salidas PWM), 16 entradas analógicas, 4 UART. Como ya comentamos, hay muchísimos tipos de placas Arduino y cada uno tiene sus ventajas y sus características.

También tenemos la facilidad de prototipado que comentaba anteriormente. Y por supuesto, los Shields o mochilas de expansión, que nos dan desde conectividad Wi-Fi, GPS, conectividad por radio de largo alcance, displays táctiles, etc. Y muchas de ellas con un bajo coste, como por ejemplo una placa Arduino Uno R3 con un display LCD táctil de 2,4 pulgadas por unos 10 euros.
Por el contrario la Raspberry Pi puede presumir de músculo y de potencia de cálculo comparada con las placas Arduino como memoria y capacidades multimedia, que van desde la reproducción de video en HD, pasando por una salida de audio (de no demasiada calidad, todo hay que decirlo, aunque hay alternativas), así como una salida de vídeo compuesto. Y, pese a no contar con las capacidades de interconexión de Arduino y con todos sus shields, sí que contamos con (cada vez más) aditamentos a la placa en forma de shields. Todo ello gracias a los conectores GPIO, I2S, etc. de la Raspberry Pi.
Si a eso le sumamos además la cámara propietaria (o mejor dicho cámaras, ya que tenemos incluso un modelo que funciona para hacer fotografía de infrarrojos), nos damos cuenta de que la Raspberry Pi puede sustituir a un ordenador en tareas simples. Y además podemos usar sus puertos de conexión para interconectar nuestro proyecto con el mundo como lo haríamos con un Arduino.

Tanto la Raspberry Pi como Arduino son dos plataformas geniales para la creación de proyectos. Son baratas, versátiles y existe información prácticamente ilimitada sobre ellas en internet.
Bueno, ¿y qué consejos me das para empezar y decidirme por una plataforma u otra?
Un profesor de filosofía mío decía que no importa la idea que hayas tenido. Seguro que alguien la ha tenido antes, y probablemente alguien ya la haya llevado a la práctica. No es del todo cierto, ya que para eso están los inventores y los genios, pero a la hora de hacer un proyecto más o menos complicado ahí está internet y sus buscadores. Busca a ver un proyecto similar y mira qué plataforma usa, porque puede que alguien haya utilizado un Arduino, o bien haya tirado por la Raspberry Pi para hacer un proyecto equivalente.
Por ejemplo, si hablamos de robots, podríamos pensar que la Raspberry Pi es mejor. Tenemos shields como el BrickPi que aprovechan todos los sensores y actuadores de LEGO Mindstorms y sustituyen al "ladrillo programable de LEGO" por la Raspberry Pi, con lo que tenemos un abanico enorme de posibilidades. Pero como comentábamos el otro día, también tenemos alternativas excelentes basadas en Arduino como Makeblock, con un grado de "profesionalidad" en los resultados enorme. Así que como veis tenemos el primer empate.
El segundo resultado igualado probablemente lo tengamos a la hora de fabricar drones, podemos hacerlo tanto con una placa como con otra. ¿Y una impresora 3D? Pues por número ganan las que están controladas por Arduino, pero tampoco significa que no podamos hacer lo mismo con una Raspberry Pi.
Así que dejadme deciros dónde gana claramente Arduino. En aquellos proyectos donde el Arduino funcione de interfaz, por regla general, nos interesará más utilizar un Arduino. Y digo por regla general, porque como hemos visto no hay verdades absolutas en el mundo maker. Si queremos controlar unos led, también. Con pocas líneas de código y Arduino lo tendremos resuelto y sin preocuparnos de qué sistema operativo instalar en la Raspberry Pi. Para soluciones vestibles también gana Arduino, ya que hay microplacas que nos permiten hacer auténticas maravillas.
En el caso de que queramos tener capacidad de computación ganará claramente la Raspberry Pi. Como por ejemplo, si queremos hacer un reproductor de audio de alta fidelidad a bajo coste que sea capaz de reproducir no sólo archivos FLAC sino también DSD, deberíamos ir a por la Raspberry Pi B model 2 y una placa como Pi-DAC+ o HifiBerry, pero tampoco dejemos a Arduino muy lejos porque también tenemos grandes posibilidades en cuanto al procesamiento de audio. O evidentemente un reproductor de contenidos multimedia con Kodi. Grabamos la imagen en una tarjeta SD y en un santiamén tenemos nuestro reproductor funcionando.
Antes de finalizar
Esta entrada es sobre las capacidades para hacer proyectos de Raspberry Pi y de Arduino. Ambas plataformas son geniales para nuestros proyectos, son asequibles y cada una tiene sus puntos más fuertes y sus puntos más débiles, lo cual no significa que una sea mejor que otra a la hora de hacer algo con ellas. De hecho, Arduino y Raspberry Pi son complementarias, ya que existen placas como Arduberry que nos permiten conectar shields Arduino a una Raspberry Pi, consiguiendo lo mejor de cada mundo.

Pero es que también tenemos placas como la UDOO Neo que combinan en el mismo hardware tanto la Raspberry Pi como Arduino. Ni siquiera tenemos que elegir ante la duda de qué plataforma usar. Ahora sólo queda ponernos manos a la obra.
Más información | Raspberry Pi y Arduino
En Xataka | Guía de verano de Raspberry Pi
Ver 24 comentarios
24 comentarios
rtk
Buenas, creo que hay una errata en el artículo que choca bastante. Cuando decís "La Raspberry Pi modelo B tiene un procesador equivalente en potencia a un 386 de intel"... Según wikipedia, el 386DX de Intel es capaz de ejecutar 4.3 Dhrystone MIPS, y la Raspberry Pi Modelo B 843 Dhrystone MIPS (1186 para un solo core de la Raspberry Pi 2). Se podría decir que el procesador de la Rasberry Model B es unas 400 veces más rápido que un 386.
fr0gdev
La diferencia está en decidir entre microcontrolador y ordenador completo.
Arduino es un micro single core de 16MHz, 2KB de RAM. Equivale a un 80186 o un 80286 (1982). Sólo ejecuta un programa, y sólo hay un thread. No hay OS. En cuanto a alimentación, le enchufas un cable USB, o unas baterías de 7 a 12V y sale andando. Para apagar lo desenchufas. Consume unos 0.2 -0.3 W. Luego es adecuado para cosas que deben durar mucho encendidas, y no requieren potencia de cómputo.
La Raspberry es un micro de 900MHz, 4 cores, 1GB de RAM. Equivale a un Pentium de principios de siglo, pero con 4 cores. Necesita una fuente de 5V estabilizada y regulada, y consume de 1 a 4W dependiendo del modelo. El encendido conlleva un arranque y el apagado es software. Necesita un sistema operativo. Es adecuada cuando necesitamos potencia de cómputo, o memoria, y tenemos alimentación disponible (casa, coche, etc).
Luis
un proeycto maker no es un xbmc, en general arduino siempre se adapta mejor.
jabp_ex
Siempre se pueden tener las dos cosas juntas mejorando las características de los anteriores, yo uso "udoo board" y es una auténtica pasada de máquina, todas las ventajas de raspberry pi y arduino unidos, eso sí, esto es para proyectos exigentes y con un mínimo de profesionalidad, no es para encender y apagar un led. Lo podéis encontrar poniendo en san google "udoo board shop" y miráis las características.
approved101
Madre mía, si todos nos ponemos a mandar bicho a 40 km de altura para hacer fotos, la que se puede liar.
neofito
Y no hay ninguna equivalente que trabaje en x86?
zenqiutech
Muy buen post. Nosotros tenemos varias Raspberry trabajando en labores concretas en una cadena de un Robot industrial, habiendo sustituido los PCs y van de fabula. ;)
Lesan
Se nota que el autor no ha investigado mucho. Veamos que dice la página de RaspberryPI en cuanto a potencia:
Overall real world performance for models A, A+, B & B+ is something like a 300MHz Pentium 2, only with much, much swankier graphics.
Un 386 dice aquí el amigo. Esto de informarse se ve que cuesta.
alberto_vazquez
Es un gran campo en el que trabajar. Nosotros particularmente nos estamos introduciendo en todo los relacionado con soluciones software libre sobre hardware libre para la industria y demás sectores de las empresas en España y el mundo.
alberto_vazquez
Creo que los dos son proyectos fascinantes y nosotros utilizamos ambos dependiendo de las necesidades particulares de cada proyecto que abordamos desde nuestra empresa.
raul.rey.7923
Filosofías totalmente distintas. Arduino no se basa sólo en el UNO, existen el DUE o el Zero bastante potentes. Dependiendo del proyecto tienes algo al gusto casi.
Rasp: Tienes un kernel detrás que da acceso a muchas funciones.
Arduino: Uso a nivel bajo de la electrónica, control total y fácil de programar
dpujoriol
Un artículo muy interesante, muchas gracias ahora solo queda dar el primer paso :-)
jvascohernandez
Una pregunta, quiero hacer un robot y tengo pensado usar arduino UNO. Pero me gustaria que incluyese una càmara y que emitiese en streaming. Seria posible con arduino o mejor conn RaspberryPi? Porque seria viable desarrolar una aplicacion en la que combinasen ambas??
Gracias