SMART-PSU pour carte ARM

Cette alimentation « intelligente » permet de démarrer mais surtout d’arrêter avec grâce (graceful shutdown) tout ordinateur compatible avec FreeBSD et libgpio. C’est testé avec succès sur les cartes suivantes:

  • Nanopi Neo
  • Nanopi Neo Air
  • Orange PI
  • Raspberry PI B
  • Raspberry Zero
  • Raspberry PI 3

Continue reading

Programmeur USBasp 3.3v

La majorité des programmeurs AVR USBasp ne fonctionnent qu’en 5v. Certains permettent d’alimenter la cible en 3,3v mais les broches de programmation (MISO, MOSI, etc.) restent en 5v. Cela peut être fatal pour votre application.

Ci dessous le schéma modifié avec un régulateur AMS1117 qui permet de basculer totalement le programmeur en 3,3v. Le schéma et le circuit imprimé sont disponibles sur github dans le dossier cad.

Pour la fabrication du circuit imprimé, j’ai fait appel aux services de la société PCBWAY. J’ai simplement envoyé les fichiers au format Gerber et les fichiers de perçage générés via KiCad.

Dix jours plus tard, j’ai reçu ma commande : le résultat est très satisfaisant.

Certains clients se sont plaints de frais de douanes importants (contrairement à JLPCB qui les prend en charge). En ce qui me concerne, je n’ai payé aucun frais supplémentaire en passant par Fedex.

Liens

Remplacement de Crosspack-AVR avec Rudix

La suite de logiciels CrossPack-AVR est une « chaine de compilation croisée™ » pour macOS à destination des microcontrôleurs AVR de MICROCHIP (anciennement ATMEL). Cependant, les versions sont anciennes mais surtout en version 32bits donc incompatibles avec macOS 10.15 (Catalina).

Vous trouverez ici de nouvelles versions des différents logiciels en version 64Bits réalisés avec Rudix. Ces versions sont les mêmes que celles fournies par les ports de FreeBSD ou l’IDE Arduino[1]. Il faudra désinstaller CrossPack-AVR avant d’installer ces nouveaux paquets. Tout est disponible localement sur la page dédiée.

Pour information, Rudix est un système de construction de paquets pour macOS avec un support pour OpenBSD, FreeBSD et NetBSD. Il est inspiré des ports de FreeBSD et est, à mon avis, bien plus simple que Homebrew.

[1] A quelques patchs près.

Programmeur AVR chinois

Parmi les nombreux programmeurs ISP pour AVR, on a le modèle USBasp. J’aime bien ce modèle pour sa simplicité d’utilisation. Avec avrdude, il est automatiquement détecté par son VID/PID: ça évite de chercher sur quel port il est accessible.

On trouve sur Ebay et les sites chinois (Banggood, AlieExpress) un programmeur pour AVR assez bien fait dans un petit boîtier aluminium (il existe également un programmeur ST-LINK dans le même format). Il ne fonctionne qu’en 5V: mais à moins de 4€, on va pas chipoter.

Cependant, contrairement à ce qu’affirment les vendeurs, il n’est pas compatible USBasp. avrdude ne le détecte pas, on obtient un message d’erreur suivant :

avrdude: error: could not find USB device with vid=0x16c0
         pid=0x5dc vendor='www.fischl.de' product='USBasp'
avrdude done.  Thank you.

En fait, il est uniquement compatible avec AVR Fighter: un logiciel chinois pour Windows.

GreenPhotons fournit un hack pour le reprogrammer avec le firmware USBasp. Malheureusement la version utilisée est assez ancienne et n’intègre pas le support TPI. C’est utile si vous voulez flasher les derniers modèles de tinyAVR.

Ce problème est maintenant résolu. La dernière version du firmware USBasp avec le hack de GreenPhotons est disponible sur github.

Bien sûr, il faut un autre programmeur pour le reprogrammer. La vie est mal faite.