Cómo Seleccionar El Mejor Arduino Para Su Proyecto Tecnológico

Arduinos

Sí eres un Maker y te apasiona el realizar proyectos electrónicos con robótica, drones, domótica, wearables y/o cualquier cosa que quieras realizar y que se necesite de un sistema embebido como Arduino, se deben primero considerar las limitaciones técnicas y de almacenamiento que tienen cada una de sus plaquetas que se ofrecen en el mercado para establecer cual será el mejor microcontrolador requerido.

Primero comenzaremos hablando de los tres tipos de memoria que tienen los microcontroladores Arduino:

  1. Memoria Flash: la memoria flash es donde el Arduino almacena el código que se programa y que se le específica para que funcione, algo parecido como su firmware. Esta memoria no es volátil y siempre la información se conserva aunque la plaqueta no reciba energía. Aspecto para considerar es que aguanta hasta 100.000 escrituras, después de esta cantidad, el Arduino no funcionará adecuadamente usando este tipo de memoria. Esta memoria comparte recursos con la memoria del software (ej, bootloader) que se utiliza para que el microcontrolador se comunique con el mundo exterior u otros dispositivos. Sí por ejemplo un microcontrolador de Arduino tiene 32K de memoria flash, compartirá 2K a 8K con esta memoria del software, dependiendo del bootloader que use. Lo que daría un total de 24K a 30K de memoria disponible.
  2. Memoria SRAM: la memoria SRAM por sus siglas “Static Random-Access Memory” es donde se almacenan las variables y en general los datos que el microcontrolador necesita para ejecutar las instrucciones de programa que se le suministra. Esta memoria es volátil, por lo que cuando no le entre energía a la plaqueta, toda la información que tenga almacenada se pierde.
  3. Memoria EEPROM: la memoria EEPROM ( Electrically Erasable Programmable Read Only Memory ) es donde se puede almacenar datos que más tarde necesitan ser accesados al estilo de una base de datos. Esta memoria es no volátil. Esta memoria tiene dos desventajas: una es que los tiempos de acceso son lentos y la otra es su limitación de número de escritura/lectura de 100.000. Debido a esta limitación, su uso sólo se restringe para almacenar datos de configuración y/o variables que se necesiten y que no se pierdan cuando no haya alimentación de energía y que nunca cambien de valor o al menos con mucha frecuencia.

Usualmente encontramos que el mayor limitante para seleccionar el Arduino adecuado es la relación entre la cantidad de memoria Flash y SDRAM y el número de instrucciones que un programa puede tener a la hora de ejecutar funciones para ser almacenado en el microcontrolador. Pero podemos encontrar otros factores determinantes como la velocidad del procesador, tamaño y la cantidad de pines I/O.

Todos los Arduinos usan el microcontrolador Atmel.

A continuación relacionamos la siguiente tabla de microcontroladores Arduino más comúnmente usados para ser comparados y seleccionar al que mejor se acomode al proyecto tecnológico que se piensa desarrollar:

Microcontrolador Flash
(bytes)
SRAM
(bytes)
EEPROM
(bytes)
Velocidad PINS I/O
(digitales)
PINS de entrada
(análogos)
Voltaje
Arduino Uno 32K 2K 1K 16MHZ 14 6 5V
Arduino Nano 32K 2K 1K 16MHZ 14 8 5V
ATMega 1280 128K 8K 4K 16MHZ 54 16 5V
ATMega 2560 256K 8K 4K 16MHZ 54 16 5V
Arduino 101 196K 24K - 32MHZ 14 6 3.3V
Arduino Zero 256K 32K - 48MHZ 20 6 3.3V
Arduino Pro Mini 32K 2K 1K 8MHZ 14 6 3.3V