Skyduino:~#
Articles
arduino, C/C++, programmation, test

[Test] Pinguino MX220

Bonjour tout le monde !

Aujourd’hui je vous propose un test hardware d’une carte arduino « dérivée » qui a fait beaucoup parler d’elle lors de sa présentation à la conférence « Embedded World » en mars dernier.
Je veux bien sur parler de la carte Pinguino-MX220 😉

Au niveau du packaging on retrouve toujours la « classique » boite aux couleurs d’olimex que j’aime tant.

Avec cependant une petite nouveauté : la taille !
Et oui, cette nouvelle boite fait pile poile la taille de la carte quelle contient.
C’est justement un point que j’avais fait remarquer lors d’un précédent article, les anciennes boites était beaucoup trop grande par rapport à leurs contenu.
Coïncidence ?

Le plus intéressant est sans aucun doute ce qu’il y a dans la boite 😉

En ouvrant celle ci on découvre la carte soigneusement emballée dans son sachet anti-ESD rose et … un lot de headers « arduino ».

Pourquoi les headers sont fourni séparément ? Et pourquoi devoir les souder sois-même ?
C’est le même principe qu’avec les cartes arduino pro de sparkfun.
Cela laisse le choix à l’utilisateur de souder ses composants directement à la carte (pour un projet fini par exemple) ou d’avoir une carte arduino classique.

Comme on peut le voir la carte est un peu « vide », cela change radicalement des cartes olimex que l’on voit habituellement.
D’habitude quand on prend une carte olimex entre les mains on se retrouve avec un concentré d’électronique, alors qu’ici on reste très simple.

Cette carte me rappelle donc beaucoup le principe de l’arduino pro de sparkfun : pas chère et au plus simple, idéal pour un projet fini.

Cette carte comme toutes les cartes de la série pinguino est basé sur un micro-contrôleur PIC32, ici un PIC32MX220 (d’où le nom de la carte).
Qui dit PIC32 dit cpu 32 bits, on est donc loin des performances d’une carte arduino classique.

Voici quelques spécifications du PIC32MX220 tiré du site de Microchip :
Spécifications générales :
- CPU 32 bits à 40 MHz, architecture RISC, avec une consommation de moins de 0.5 mA/MHz
- Deux modules I2S/SPI pour les communications série
- Choix dynamique des fonctionnalités de chaque broches (Peripheral Pin Select (PPS))
- Port parallèle pour contrôler un afficheur graphique
- Port USB 2.0 full-speed
- CTMU (Charge Time Measurement Unit) pour créer des boutons / sliders capacitif (principe de fonctionnement des touches tactile de mon dernier article)

Spécifications du micro-contrôleur :
- Alimentation entre 2v3 et 3v6
- 32Ko de mémoire flash (pour le programme, plus 3Ko pour le bootloader)
- 8Ko de mémoire SRAM
- Puissance de 1.56 DMIPS/MHz soit un total de ~62.5 DMIPS
- Compatible broche à broche avec les PIC de la série 16 bits
- Gestion de l'alimentation suivant plusieurs mode
- Watch-dog configurable avec oscillateur RC dédié

Périphériques internes :
- Choix dynamique des fonctionnalités de chaque broche (Peripheral Pin Select (PPS))
- 4 canaux DMA (Direct Access Memory) avec détection automatique de la taille des données
- Deux ports UART (port série) et I2C
- PLL séparé pour l'usb et le CPU
- RTCC (Real Time Clock and Calendar) intégré
- 5 Timers/Compteurs 16 bits (avec possibilité de combiné deux timers 16 bits pour obtenir un timer 32bits)
- 5 "events capture" et 5 générateurs de signaux PWM

Spécifications de l'interface audio :
- Mode de communication supporté : I2S, LJ, RJ, DSP
- Interface de communication supporté : SPI and I2C

Spécifications des modules analogiques :
- 13 convertisseurs Analogique -> Numérique 10 bits
- 3 Comparateurs analogique
- CTMU (Charge Time Measurement Unit) pour créer des boutons / sliders capacitif

Comme vous pouvez le voir on est dans une fourchette de performance relativement correcte, 40MHz, 32Ko flash, 8Ko ram … une sorte de carte arduino leonardo amélioré en quelque sorte.
On reste cependant loin des capacités de la pinguino classique, mais cette carte reste idéal pour des applications bas coût fonctionnant principalement sur batterie.

Au niveau du skillscreen on retrouve l’habituelle couleur rouge orangé de olimex.
On trouvera dommage que les informations sur les jumpers, leurs fonctions et leurs états par défaut ne soit pas annotés comme c’est le cas habituellement.
Pour la qualité, comme toujours, olimex fait un sans faute. Le pcb est d’une qualité irréprochable.

Au niveau de la carte on peut apercevoir 2 boutons et 2 leds :
– un premier bouton « BUT » activant le bootloader
– un second bouton « RST » permettant de reset la carte

Les leds quand à elle sont laissé libre pour l’utilisateur (les led sont de couleur verte et rouge pour ceux que ça intéresserait).

Comme toujours avec les cartes olimex on retrouve le classique port UEXT permettant d’étendre les fonctionnalités de la carte via divers breakout UEXT.
Breakout RTC, Infrarouge, etc etc je ne vais pas m’étendre de plus sur le sujet.

On retrouve aussi comme sur la plupart des cartes arduino dérivé conçu par la communauté un double pinout :
– un pinout compatible avec les shields arduino au pas non standard
– un pinout au pas standard 2.54mm pour faire ses propres shield à partir d’une plaque à essai

On notera aussi la présence du connecteur ISCP pour attacher un débuggeur PICKIT3 et ainsi pouvoir débugger son application via Mplab ou MplabX (la version open source de Mplab).

Au niveau de l’alimentation de la carte, on se retrouve nez à nez avec un connecteur JST 2-pin pour batterie Lippo 3v7.

On remarquera la présence d’une empreinte pour un régulateur 3v3 « de puissance » laissé vide, ainsi que d’une empreinte pour prise jack sous le connecteur JST.
J’imagine donc que pour pouvoir utiliser la prise jack en tant qu’alimentation principale il faut souder un régulateur 3v3 LDO CMS ainsi que ses deux condensateurs.
J’aurai vue l’inverse plus logique, à savoir la prise jack par défaut et si on le souhaite le connecteur JST à souder soi même … bref.

Remarque : Au départ j’avais prévu de faire ma propre carte pinguino MX220.
Le schéma est disponible sur le site du projet pinguino, il suffit d’avoir un PIC32MX220 (disponible en format DIP) et quelques composants classique (quartz, condensateurs, régulateur, …).
Mais par manque de temps j’ai finis par craquer et prendre une carte toute prête (oui je sais c’est pas bien ;)).

Ce qui m’as fait renoncer à l’idée de faire ma propre carte MX220 c’est l’impossibilité de flasher le bootloader usb dans le PIC32 avec autre chose qu’un PICKIT3 …
Un PICKIT3 coûtant dans les ~50€ (même pas la peine de penser à utiliser un clone chinois, ce sont tous des m*rde inutilisable) ça m’aurait coûte 4x plus chère au final …

Ma conclusion :
La pinguino-MX220 est une carte aux performances certes « légère » mais avec un potentielle certain !
Elle est pour moi au même niveau qu’une carte Arduino leornardo, avec bien évidement un bonus de puissance (et de ram).

A noter aussi que depuis la sortie de la branche 3.X de l’ide pinguino, l’interface est devenu vraiment sympa.
Avec un menu permettant de naviguer entre plusieurs fichiers sources, des boutons plus ergonomiques, etc … que du bon en perspective !

Advertisements

Discussion

Pas encore de commentaire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Skyduino devient Carnet du Maker

Le site Carnet du Maker remplace désormais le blog Skyduino pour tout ce qui touche à l'Arduino, l'informatique et au DIY.