Créer une librairie KiCad

L’objectif de cet article est de créer une nouvelle librairie KiCad qui contient un composant complet (symbole, empreinte et modèle 3D).

Si vous n’avez pas encore KiCad, vous pouvez l’installer en le téléchargeant ici : https://www.kicad.org/download/

J’ai écris cet article en utilisant la version 8.0 de Kicad. Le fonctionnement est le même sur les autres versions, éventuellement les pictogrammes peuvent varier.

Le composant utilisé

Pour cet article nous allons utiliser le LM358. Cet AOP est déjà présent dans les librairies KiCad mais il va nous permettre de faire cet article.

Sa datasheet est disponible ici : https://www.ti.com/lit/ds/symlink/lm358.pdf

Il s’agit d’un double AOP, autrement dit 2 AOP contenus dans un seul circuit intégré : les amplificateurs 1 et 2.

Le symbole

Nous allons commencer par créer le symbole du composant. Pour cela, ouvrez l’éditeur de symbole de KiCad :

L’éditeur comporte plusieurs zones. Dans la partie Librairies vous pouvez trouver les librairies chargées par défaut ainsi que celles de votre projet (si vous en avez ouvert un). Dans notre cas nous ne voulons pas modifier une librairie existante mais en créer une : Fichier -> Nouvelle librairie puis choisissez le nom et l’emplacement de la librairie.

Une fois qu’elle est créée, sélectionnez la dans la partie Librairies puis cliquez sur le bouton Nouveau symbole (ou clic droit -> Nouveau symbole).

La fenêtre suivante s’ouvre :

Cette fenêtre se complète comme suit :

  • Nom du symbole : le nom du composant, ici LM358,
  • Dérivé du symbole existante : pour créer une variante d’un symbole déjà existant dans la librairie, inutile pour cet article,
  • Référence par défaut : le « template » pour nommer le composant dans les schémas. Nous allons mettre IC pour que les LM358 qui seront appelés dans les schémas s’appellent IC1, IC2…
  • Nombre d’unité par boîtier : permet de créer le symbole en plusieurs sous-parties qui pourront être placées indépendamment sur les schémas. Pour le LM358 nous allons créer un schéma en 3 unités : amplificateur 1, amplificateur 2, alimentation.

Nous n’avons pas besoin des autres paramètres. Une fois la fenêtre validée il est possible de « dessiner » le symbole.

Comme le symbole est découpé en 3 unités, nous allons devoir dessiner chacune de ces unités. Pour changer d’unité il suffit de cliquer sur le menu déroulant dédié et de choisir entre unité A, B ou C :

Nous allons commencer par l’amplificateur 1, qui se trouve sur l’unité A. Nous allons le représenter avec le symbole électronique des amplificateur :

Il faut maintenant y placer les pins. Après avoir cliqué sur le bouton d’ajout de pin, la fenêtre suivante s’ouvre :

  • Nom du pin : le nom du pin,
  • Numéro du pin : le numéro du pin sur l’empreinte,
  • Type électrique : le type de signal.

Pour masque le numéro de pin et/ou le nom de pin sur le symbole il suffit de mettre à zéro la taille du texte voulu.

Pour les numéros de pin, il faut utiliser l’empreinte indiquée sur le datasheet :

Voici le symbole de l’amplificateur 1 une fois terminé :

L’unité B représente l’amplificateur 2. Le schéma est donc le même, seuls les noms des broches et leur numéro de pin empreinte changent. Voici l’amplificateur 2 terminé :

L’unité C va représente l’alimentation électrique du composant. Pour cela nous allons mettre les 2 pins verticalement.

L’unité C terminée :

Le symbole est maintenant terminé. En ouvrant ses paramètres Fichiers -> Propriétés du symbole ou via le bouton symbole avec un engrenage, il est possible d’y préciser le footprint à utiliser par défaut, un lien vers la documentation…

L’empreinte

Maintenant que nous avons le symbole, il nous faut l’empreinte PCB. Pour la créer, il faut commencer par ouvrir l’éditeur d’empreintes, et créer une nouvelle librairie : Fichiers -> Nouvelle Librairie.

Une fois la nouvelle librairie créée, 2 options s’offrent à nous pour créer l’empreinte :

  • Créer une empreinte en partant de 0, donc en plaçant manuellement les pins, en dessinant le contour…
  • Créer une empreinte avec le « générateur » de KiCad, dans ce cas nous choisissons le type d’empreinte voulu, les paramètres (nombre de pins, pas…) et KiCad s’occupe de tous les placements.

En créant l’empreinte en partant de 0, vous devrez choisir s’il choisit d’une empreinte CMS ou traversante. Vous pourrez ensuite placer librement les pads, dessiner le contour du composant à imprimer sur le PCB…

Pour cet article nous allons utiliser le générateur de KiCad pour céer l’empreinte SOIC du LM358. Voici les dimensions indiquées dans la datasheet du composant :

Le boitier est donc un boîtier SOIC, sélectionner le dans le générateur KiCad. L’empreinte suivante s’ouvre :

Nous devons configurer le générateur avec les paramètres suivants pour correspondre au LM358 :

Il est également possible de modifier l’espacement pour le contour du boîtier depuis l’onglet Body des paramètres. Une fois les paramètres saisis, il suffit de cliquer sur le bouton pour envoyer l’empreinte dans l’éditeur :

Une fois de retour dans l’éditeur, il faut terminer de configurer l’empreinte avec le menu de configuration de l’empreinte.

Depuis cette fenêtre il est possible de modifier le nom de l’empreinte, d’ajouter un lien vers le datasheet, une description, des mots-clés pour faciliter sa rechercher dans l’explorateur KiCad, mais aussi d’y ajouter un modèle 3D (format STEP ou WRL) pour les rendus 3D de PCB.

Une fois la configuration terminée, il suffit de sauvegarder et l’empreinte est ajoutée à la librairie. La librairie est maintenant prête à être utilisée !

STM32CubeMX avec Platformio sur VS Codium

Il est possible d’utiliser d’utiliser VS Codium pour programmer un microcontrôleur configuré avec STM32CubeMx. Cela fonctionne aussi avec VS Code.

Création du projet avec STM32CubeMX

Créez le projet sur CubeMX avec votre microcontrôleur, puis rendez-vous sur la fenêtre Project Manager. Dans l’onglet Code Generator, sélectionnez Add necessary files as reference in the toolchain project configuration file comme suit :

Vous pouvez ensuite générer le code en utilisant le bouton Generate Code.

Ouverture des fichiers avec VS Codium

Ouvrez avec VS Codium le dossier contenant les fichiers générés par CodeMX.

Dans ce dossier, il faut créer le fichier platformio.ini afin que le projet devienne un projet platformio. Ce fichier est le suivant :

Pensez à adapter le genericSTM32F401RC à votre microcontrôleur (dans mon cas il s’agit d’un STM32F401RCT6). La liste des microcontrôleurs paltformio est disponible ici : https://docs.platformio.org/en/latest/boards/index.html.

Une fois le fichier créé, fermez VS Codium et ouvrez le à nouveau. Normalement platformio devrait comprendre le fichier .ini et les boutons habituels de compilation, d’upload et autres devraient être disponibles.

Support pour verticale HF

Il y a quelques temps j’ai fait l’acquisition d’une HF-PRO-2 PlusT de Komunica (https://www.passion-radio.fr/hf/hfpro2plust-1078.html). Cette antenne est très bien, j’ai été surpris de ses performances avec sa taille réduite et de la facilité pour l’accorder. Seulement, pour le portable, la mettre à l’arrière de mon IC-706 et bricoler des fils électriques en contrepoids n’était pas simple : pas facile de visser la PL259, l’antenne pivotait sans cesse car à cause des radians je ne pouvais pas visser à fond la PL…

Après avoir vu sur internet des kits tripod pour cette antenne, je me suis lancé dans la fabrication d’une fixation pour petit trépied photo acheté environ 20€, le Fotopro FY-583. Ce petit trépied fait moins de 30cm de long quand il est replié, environ 1m quand il est totalement déplié, et supporte jusqu’à 1kg de charge ce qui est suffisant pour les 425g de l’antenne.

Pour mettre l’antenne sur le support, j’ai fabriqué une platine de fixation à partir d’un bout d’aluminium de 1.5cm d’épaisseur qui traînait dans le garage. 2 pièces sont fixées sur cette platine :

  • Le connecteur UHF femelle – UHF femelle à montage sur parois,
  • Une pièce imprimée en 3D avec 5 inserts : 4 inserts M3 pour la fixation sur la platine en aluminium, et un insert 1/4″ pour la fixation sur la plaque avec vis 1/4″ qui sert normalement à fixer le support de téléphone ou un appareil photo sur le trépied.

Les radians sont des fils électriques (4 fils de 3m de long pour le moment) de section 1mm² sertis sur des embouts à œillets et vissés avec les 4 vis de fixation de la SO239.

Le trépied étant à l’origine un trépied photo, il est possible de démonter la plaque support qui comporte une vis 1/4″ grâce à un levier. Je peux donc laisser vissée ma platine sur la plaque support et l’emboîter puis la verrouiller sur le trépied au montage, ce qui prend beaucoup moins de place dans la mallette.

Le fichier STL et FreeCAD de la pièce imprimée en 3D est disponible ici : https://www.thingiverse.com/thing:6637911

Maintenant que le support est fait, je vais pouvoir utiliser plus confortablement cette antenne en portable. Ne reste qu'à éventuellement modifier la longueur des contrepoids, je verrai à l'usage.

Antenne QFH pour satellite amateur UHF

Fabrication d’une antenne QFH pour la réception du satellite UVSQ-SAT (437.020 MHz) et les satellites amateurs UHF en général. L’antenne a été conçue avec les équipes du LATMOS.

Le matériel nécessaire

L’antenne se fabrique à partir d’éléments faciles à sourcer dans des magasins de bricolage et sur internet :

  • Les 4 pièces à imprimer,
  • Du fil électrique de diamètre 1,5mm² (il est possible d’utiliser un autre diamètre de fil, mais les pièces imprimées risquent de ne plus être adaptées et il faudra porter plus d’attention à la taille de l’antenne),
  • Du tube IRO de diamètre 25mm,
  • Une embase type N femelle,
  • Un bout de coaxial de type RG-58.

Les 4 pièces à imprimer sont disponibles ici : https://www.thingiverse.com/thing:6636654

La fabrication

La structure plastique

La première étape consiste à coller les pièces imprimées sur le tube IRO. Les pièces doivent être collées (dans un 1er temps ne pas les coller, pour pouvoir les bouger légèrement en surveillant avec un VNA) de manière à obtenir les espacements suivants :

L’antenne avec la structure plastique seule a cette apparence :

Les boucles de conducteur

La QFH est constituée de 2 boucles de conducteur. La boucle la plus courte mesure 705mm, la boucle la plus longue mesure elle 741mm.

Pour la fabrication de l’antenne, je vous conseille de couper les boucles en plusieurs morceaux : les traversées du bas (en bleu sur la photo), les spirales (en vert) et les traversées du haut (en rouge).

Le montage est à faire comme suit :

  • Passer les 4 morceaux de fils pour former les 4 morceaux de spirale (en vert sur la photo ci-dessus),
  • Passer les 2 morceaux de fils pour former les 2 traversées du bas (en bleu sur la photo ci-dessus),
  • Braser les jonctions entre les traversées du bas et les spirales,
  • Passer les 2 morceaux de fils pour former les 2 traversées du haut (en rouge sur la photo ci-dessus),
  • Braser les jonctions entre les traversées du haut et les sprirales.

Une fois toutes les brasures effectuées, il suffit de couper les traversées du haut pour pouvoir connecter le câble coaxial comme sur la photo ci-dessous :

Vous pouvez ensuite mettre l’embase N au pied du tube IRO (je n’ai pas publié de pièce 3D dédiée à l’embase car il existe de nombreux modèles différents).

Tailler l’antenne au VNA

En théorie l’antenne doit être un peu trop basse en fréquence. Dans ce cas, recouper les brins au niveau des brasures sur le coaxial pour faire remonter la fréquence de résonance de l’antenne.

Au besoin, vous pouvez également jouer sur l »espacement entre les pièces supérieure et inférieure de la structure.

Dans mon cas, après une première coupe rapide, voici le résultat obtenu :

Avec un ROS d’environ 1.6, un return loss de -13dB et un pic aux environs de 440.5 MHz, mon antenne est légèrement trop haute en fréquence. Il me faut donc jouer un petit peu sur l’espacement entre les pièces de la structure et/ou sur les brasures de connexion au coaxial pour la rebaisser sur 437MHz. En fonction de la réception obtenue avec, je prendrai ou non le temps de le faire.

Antenne Dipole en V 137MHz

L’antenne en V est très simple à fabriquer et offre une bonne réception.

Pour fabriquer l’antenne, vous avez besoin de :

  • 2 tiges en aluminium ou 2 morceaux de conducteur d’une longueur de 55cm chacun (la longueur théorique est de (147 / 137,5 MHz) / 2 = 53,4 cm, mais il vaut mieux avoir des brins un peu plus long quitte à les retailler plus tard),
  • 2 dominos (ou sucres) électriques encore collés entre eux (côte à côte),
  • du coaxial pour relier l’antenne au récepteur.

La fabrication de l’antenne est très simple : il suffit de mettre un brin dans chaque domino, et de tordre les 2 brins pour qu’ils forment un angle de 120°. Pour faciliter l’installation, j’ai également tordu les brins pour qu’ils soient perpendiculaires aux dominos et non dans leur axe (voir photo ce-dessus et plus bas).

Une fois les brins en place, il faut ouvrir le coaxial sur quelques cm pour séparer l’âme et la tresse. Il faut ensuite connecter l’âme dans un des 2 dominos et l’âme dans l’autre, comme dans le schéma de 9A4QV ci-dessous.

La réalisation de cette antenne est aussi simple que ça, pourtant elle est très efficace. La mienne mériterait d’être taillée encore un peu, mais sur les fréquences APT des satellites NOAA elle a un ROS compris entre 1,15 et 1,24 ainsi qu’une impédance comprise entre 44 et 57 ohms.

Antenne QFH 137 MHz

L’antenne QFH est une antenna pour la réception des satellites. Il est possible d’en fabriquer une pour quasiment toutes les fréquences, il suffit d’adapter ses dimensions. Dans mon cas je l’ai fabriquée pour 137MHz (satellites météo NOAA et METEOR).

La fabrication de l’antenne n’est pas compliquée, et il ne faut que peu de matériel : du fil électrique 2.5mm² (ou mieux du tube de plomberie en cuivre ou du coaxial), un tube de diamètre 32mm et de longueur ~1m, 2m de tube IRO diamètre 20mm, et quelques pièces imprimées en 3D (fichiers stl disponibles ici).

La 1ere étape de la fabrication est la mise en place de la structure. Les dimensions à suivre sont calculables sur ce site : http://jcoppens.com/ant/qfh/calc.en.php

Dans le cas d’une antenne pour la réception sur 137MHz (donc fréquence centrale de 137.5MHz) et avec du fil électrique 2.5mm², les dimensions à suivre sont de :

  • Distance entre le haut de l’antenne et le bas de la boucle courte (H1) : 68,3 cm
  • Distance entre le haut de l’antenne et le bas de la boucle longue (H2) : 71,9 cm
  • Distance entre le haut de l’antenne et la croix centrale de maintient (H3, en blanc sur la photo) : ~72/2 = 36 cm
  • Largeur des « brins » pour la boucle courte (H4) : 30cm (si on retire le diamètre du tube IRO cela fait donc des morceaux de (30 – 3,2)/2 = 13,4 cm à couper)
  • Largeur des « brins » pour la boucle longue (H5) : 31,6cm (soit des morceaux de tube IRO de (31,6 – 3,2)/2 = 14,2 cm)

Il faut également percer là où les conducteurs vont traverser le tube, c’est à dire dans la croix du haut et dans les 2 pièces en bas de l’antenne.

Une fois la structure construite, il ne reste plus qu’à mettre en place les conducteurs. Les longueurs de boucle sont les suivantes :

  • 225,5 cm pour la boucle courte,
  • 237,3 cm pour la boucle longue.

Je vous conseille de couper plus long pour faciliter la mise en place des conducteurs et de retailler après.

Sur le haut de l’antenne, la connexion des conducteurs au coaxial qui va vers le récepteur se fait comme suit :

Et voilà, maintenant il ne reste plus qu'à utiliser l'antenne. Sur mon installation la QFH donne de meilleurs résultats que la Turnstyle pour la réception des NOAA et METEOR.

Antenne turnstyle pour satellites météo 137 MHz

Plusieurs fois par jour, des satellites renvoient sur Terre une image temps réel afin de voir différents paramètres météo. Certains d’entre eux peuvent être reçus assez simple : les NOAA 15, NOAA 18 et NOAA 19. Il sera également possible de voir les images envoyées par les METEOR, la seule différence sera dans les logiciels utilisés.

Avant de commencer à parler des logiciels, il faut commencer par le début de la chaine de réception radio : l’antenne. Pour la réception des satellites météo, il est possible d’utiliser différents types d’antenne (QFH, V-dipole, Turnstyle…). Mon premier choix s ‘est porté sur l’antenne Turnstyle ; mais par la suite j’ai également réalisé une QFH et un dipôle en V.

Cette antenne ne coûte que quelques euros à fabriquer : elle est conçue avec un tube IRO et les brins sont réalisés avec des tiges en aluminium de diamètre 3mm.

Calculer les longueurs des brins

Lorsqu’on fabrique une antenne, il est important de savoir sur quelle(s) fréquence(s) elle va être utilisée. Dans notre cas, son objectif étant de recevoir les satellites NOAA et METEOR, elle devra fonctionner de 137MHz à 138MHz, ce qui nous donne une longueur d’onde de :

Maintenant que nous avons la longueur d’onde avec laquelle nous allons travailler, nous pouvons calculer la longueur des brins. L’antenne est composée de 2 parties : le dipôle (brins sur lesquels sera connecté le coaxial) et le réflecteur (non connecté au coaxial). Les brins de ces 2 parties ont des dimensions différentes.

Commençons par calculer la longueur des brins du dipôle. Pour cela, il faut appliquer le coefficient de vélocité à la longueur d’onde :

Chaque segment de brin du dipôle connexions comprises (voir schéma plus bas) mesure alors :

La longueur L correspond à la distance le bout extérieur du brin rouge et le centre de la pièce de fixation. C’est donc la longueur du morceaux tige d’aluminium + longueur des connexions (autrement dis, 2*L est la longueur bout à bout de l’antenne).

Une fois les brins du dipôle dimensionnés, il faut calculer les longueurs des brins du réflecteur. La formule pour les brins du réflecteur est la suivante (attention, il ne faut pas prendre la longueur à laquelle le coefficient de vélocité a été appliqué !) :

Distance entre le dipôle et le réflecteur

Comme dit plus haut, l’antenne Turnstyle est composée d’un dipôle et d’un réflecteur. La distance entre ces 2 parties n’est pas aléatoire, en effet elle doit être comprise entre une demi longueur d’onde et un 8e de longueur d’onde :

L’écart entre le réflecteur et le dipôle de l’antenne doit être de minimum 27cm et de maximum 1,14m. Il suffit de tester une fois l’antenne installée quelle distance offre la meilleure réception.

Les branchements

A l’étape du branchement, les choses se compliquent un peu. En plus de raccorder le coaxial qui descend vers le TRX, il faut ajouter une ligne déphasage. La longueur de cette ligne de déphasage se calcule avec la fonction suivante :

La ligne de déphasage en coaxial de 50 ohms et mesurer 36cm.

Pour réaliser le câblage, en utilisant les brins sur le schéma de l’antenne plus haut il faut suivre les correspondances suivantes :

  • La masse du coaxial 75 ohms sur le brin avec le trait vert clair,
  • L’âme du coaxial 75 ohms sur le brin avec le trait vert foncé,
  • La masse du coaxial 50 ohms et l »autre masse du 75 ohms sur le brin bleu clair,
  • L’âme du coaxial 50 ohms et l »autre âme du 75 ohms sur le brin bleu foncé.
Le plus compliqué dans cette antenne est de fabriquer les pièces qui tiennent les brins sur le tube IRO. Le plus simple est d"imprimer avec une imprimante 3D des pièces trouvées sur Thingiverse.Une fois l"antenne fabriquée, avant de décoder les satellites météo il faut encore installer les logiciels nécessaires.

Installation de GQRX sur Raspberry

Dans cet article nous allons voir comment installer GQRX pour pouvoir utiliser une clé SDR pour Raspberry. Il ne s’agit pas d’un tutoriel pour installer GQRX sur un ordinateur Linux, pour ça voir cet article.

Installer GQRX

Pour installer GQRX, saisissez les commandes suivantes :

En fonction du paramétrage de la session, il est possible qu’il faille lancer les commandes ci-dessus en super utilisateur, donc avec sudo.

Configurer la sortie audio

Avant de lancer GQRX, il faut configurer la sortie audio du Raspberry en fonction de si vous voulez utiliser la sortie jack ou la sortie audio HDMI. Pour cela, tapez la commande suivante :

Avec le clavier, rendez-vous dans Advanced Options, puis sur Audio. Enfin, choisissez entre la sortie 3.5mm jack et la sortie HDMI. Aller sur Finish pour valider.

Lancement de GQRX

Si l’installation de GQRX s’est bien déroulée, vous pouvez désormais le lancer :

Dans la fenêtre qui s’ouvre vous n’avez qu’à choisir votre clé puis à valider.

Réception APRS avec une clé SDR sous Linux

Dans cet article nous allons voir comment recevoir l’APRS avec une clé SDR et un ordinateur sous Linux. Pour cela, nous allons utiliser les logiciels GQRX (pour la clé SDR), DIREWOLF et Xastir.

Pour installer GQRX, vous pouvez regarder dans cet article.

Pour installer DIREWOLF, il suffit de taper la commande suivante :

Pour installer Xastir :

Configuration de GQRX

Pour décoder les trames APRS il faut envoyer le signal audio reçu à DIREWOLF. Pour cela, nous allons utiliser l’UDP. Pour le configurer, une fois GQRX lancé et fonctionnel, allez dans l’onglet Input Control (rectangle bleu dans l’image ci-dessous). Une fois dans cet onglet, allez dans les paramètres (rectangle vert). Dans la fenêtre qui s’affiche, cliquez sur Network, puis configurez votre « adresse » UDP comme vous le voulez.

Une fois l’UDP paramétré, vous pouvez l’activer en cliquant sur le bouton UDP (rectangle rouge sur la capture de GQRX).

Configuration de DIREWOLF

Il faut maintenant demander à DIREWOLF de choisir l’UDP comme entrée audio. Pour cela, dans le fichier direwolf.conf (fichier à créer dans /home/votre-nom/ s’il n’est pas existant), il faut écrire les quelques lignes suivantes :

En fonction du paramétrage UDP que vous avez effectué dans GQRX vous devrez modifier le port et l’adresse de l’UDP des lignes ci-dessus.

Si tout est bien paramétré, lorsqu’une trame APRS est reçue par la clé SDR, DIREWOLF doit la décoder.

Configuration de Xastir

Passer Xastir en français

La première fois que vous lancez Xastir, vous pouvez le passer en français avec la commande suivante :

A partir de maintenant, lorsque vous exécuterez Xastir avec sudo xastir il sera directement en français.

Modifier le fond de carte

Le fond de carte par défaut n’est pas très clair. On va donc le remplacer par un fond de carte OpenStreetMap. Pour cela, cliquez sur le menu Cartes, puis sur Choix des cartes, sélectionnez le fond que vous désirez puis appliquez la modification.

Ajout de l’interface entre DIREWOLF et Xastir

Il faut maintenant connecter DIREWOLF à Xaxtir. Pour cela, allez dans le menu Interfaces, puis Contrôle de l’interface. Cliquez sur Ajouter, puis AGWPE par réseau. Vérifiez l’hôte, le port et désactiver la fonction permettre transmission. Après avoir validé, dans le menu contrôle de l’interface, démarrez l’interface que vous venez de créer.


Il ne vous reste plus qu'à attendre que des trames arrivent, si vous avez tout bien paramétré les différentes stations apparaîtront dans Xastir