L’évolution pour tous vos projets Arduino compacts! Ces cartes compatibles Arduino à base de Atmega644 & Atmega1284 vous offrent de 2 à 8 fois plus de ressources flash et RAM et une compatibilité parfaite.

644/1284 Narrow: cartes compatibles Arduino à base de Atmega644 & Atmega1284

644/1284 Narrow: cartes compatibles Arduino à base de Atmega644 & Atmega1284

  • Votre projet nécessite plus de ressources que n’offre votre carte Arduino actuelle: Nano, Uno, Leonardo et même la Mega 2560 (RAM)?

  • Tout en réduisant au maximum sa taille?

     ==> Les cartes 644 Narrow et 1284 Narrow sont une solution parfaite!

De plus en plus besoin de ressources

La carte Nano est formidable pour essayer un circuit sur une planche de test , mais les projets sont de plus en pus gourmand surtout si l’on inclut un écran OLED ou TFT et les ressources flash et RAM peuvent être insuffisantes.

La première solution qui semble évidente à l’heure actuelle est de passer aux cartes 32 bits. Malheureusement il ne faut pas s’arrêter aux performances brutes alléchantes.

Le problème des cartes 32 bits style “bluePill”:

  • Plus de puissance mais aussi plus de ressources nécessaires

Ces cartes ont une horloge plus rapide et des bus 32 bits. Le tout donne une puissance de traitement théoriquement multipliée par 5 à 10. Mais l’expérience montre que le code compilé est beaucoup plus lourd. Résultat: avec un carte ayant 64 Ko de flash comme la Blue Pill (STM32F103) vous ne pouvez pas caser un programme qui tient sur une Atmega328p (32Ko), et il faut encore monter en gamme (cortex M4 etc) !

Voici par exemple les ressources nécessaires pour compiler le sketch habituel Blink.ino

Comparison of flash and RAM used by "blink" sketch.Arduino Uno / Nano Arduino core
644 Narrow
MightyCore
1284 Narrow
MightyCore
Arduino Mega
Arduino core
Arduino Zero
Arduino core
Cortex M3
Blue pill
STM32duino core
Cortex M4
Arduino core_STM32
ESP32
Arduino-esp32 core
MCUAtmega328Atmega644Atmega1284Atmega2560SAMD21G18STM32F103STM32F401ESP32WROOM32
Flash930 (3%)1122 (1%)1214 (0%)1460 (0%)10624 (4%)15828 (24%)23516 (4%)194472 (14%)
RAM9 (0%)9 (0%)9 (0%)9 (0%)2732 (8%)3088 (15%)3244 (1%)13332 (4%)
Has EEPROMxxxx
  • In-compatibilité !

Malheureusement, l’intégration des cartes 32 bits dans l’environnement Arduino est loin d’être aboutie.

Le meilleur noyau Arduino pour STM32 était jusqu’à récemment STM32duino.com Ce site était aussi la principale source d’information concernant les développeurs. Malheureusement il est fermé depuis l’été 2019. Il est actuellement difficile de développer en STM32 dans l’environnement Arduino par manque de références de programmation.

En ce qui concerne ESP32, qui est une solution très alléchante, actuellement la fonction analogWrite() n’est pas supportée! Il faut aussi savoir que si l’horloge système peut monter à 240 MHz (avec une consommation terrible en conséquence), en réalité dans Arduino elle est configurée à 80 MHz, voir 40 MHz si l’on veut utiliser une horloge précise externe plutôt que l’oscillateur interne…

  • Alimentation

Les microcontrôleurs STM32 et ESP32  fonctionnent en 3.3V. Les Atmegas peuvent fonctionner en 5V et 3.3V. Hors, changer la tension d’alimentation de votre montage n’est pas si évident. Il faut revoir tous les composants du circuit et peut être ajouter des adaptateurs de niveau.

 

Alors quoi faire?

La solution satisfaisante et rapide pour faire évoluer un projet Arduino nécessitant plus de ressources (flash, RAM) est d’évoluer vers la ligne de produits 644/1284. Car Arduino a été conçu à la base comme une solution fondée sur les MCU Atmega 8 bits.

Les atmega644 et Atmega1284 vous offrent beaucoup plus de performance et la compatibilité totale grâce au  MightyCore.

 

644 Narrow & 1284 Narrow

Ces cartes sont conçues pour être semblables aux Nano. Elles sont légèrement plus larges (+2.7mm) et longues (+8 mm) mais tiennent parfaitement sur une planche de tests à trous standard.

Les avantages sont:

  • Evolution naturelle, instantanée, 100% compatible avec votre projet Arduino.
  • 10 entrées/sorties logiques de plus que sur une Uno / Nano.
  • Beaucoup de ressources flash et RAM (644 Narrow: x2, 1284 Narrow: x8).
  • Une EEPROM véritable qui est 10 fois plus durable q’une émulation en flash.
  • Très compacte.
  • Consomme peu de courant.
  • Coût inférieur à une Mega2560.
  • Et la possibilité d’implanter un écran OLED 0.49″ en option.
Dimensions comparées des cartes Nano, Narrow, Uno et Mega

Dimensions comparées des cartes Nano, Narrow, Uno et Mega

OLED (optionnel):

Une des raisons principales d’utiliser un microcontrôleur disposant de plus de mémoire est de pouvoir piloter un écran OLED ou TFT. Etant donné que de nombreux utilisateurs de Narrow voudront certainement inclure une interface graphique à leur projet, un port spécifique est ajouté (GND, 5V, SCL, SDA) pour connecter un module OLED à interface I2C. Vous pouvez y souder directement au dessus de la carte un module OLED 0.49″, ce qui permet de gagner de la place sans avoir à rien câbler.

644/1284 Narrow with 0.49" OLED

Narrow avec oled et lignes

Narrow avec oled font 8x8

Caractéristiques comparées:

Arduino Nano644 Narrow1284 NarrowArduino Mega 2560
Operating Voltage 5V5V5V5V
Input Voltage (recommended)7-12V7-12V7-12V7-12V
DC Current per I/O Pin40 mA40 mA40 mA40 mA
Flash32 KB64 KB128 KB256 KB
RAM2 KB4 KB16 KB8 KB
EEPROM1 KB2 KB4 KB4 KB
Digital I/O pins14242454
Analog pins88816
PWM66814
SPI1111
USART1224
I2C1111
Current consumption35 mA35 mA35 mA80 mA
Size (mm2)810109710975411
Weight7 g8 g8 g37 g
Price20$ + shipping29$35$35$ + shipping

Brochage:

 

Brochage de 644/1284 Narrow v0.9