J’utilise depuis quelques années l’amplificateur linéaire SPE Expert 1.3K-FA, un solid-state de 1,3 kW entièrement automatique. SPE fournit le logiciel KTerm pour le contrôler via USB, mais cette fenêtre reste limitée : impossible d’intégrer ses données dans d’autres applications, ni d’y ajouter ses propres métriques.
En cherchant un peu, j’ai découvert que SPE publie un Application Programmer’s Guide (Rev. 1.1) qui documente complètement le protocole série de l’ampli. De quoi écrire son propre client en Python !
Si vous utilisez Linux, consultez également mon article sur AetherSDR, le client SmartSDR open-source pour Ubuntu.
1. SPE Expert Python monitor — le protocole série
La communication se fait via le port USB de l’ampli, qui apparaît comme un port COM FTDI standard sous Windows. Les paramètres sont classiques : 8N1, jusqu’à 115 200 baud.
Le protocole est orienté requête/réponse. Chaque paquet envoyé par l’hôte commence par trois octets de synchronisation 0x55, suivi du nombre d’octets, des données et d’un checksum modulo-256.
La commande la plus utile est 0x90 — STATUS — qui retourne une chaîne CSV de 19 champs décrivant l’état complet de l’ampli :
,13K,S,R,A,1,09,1b,0r,L,0000, 0.00, 0.00, 0.0, 0.0, 24,000,000,N,N,
| Champ | Contenu |
|---|---|
13K | Identifiant ampli (1.3K-FA) |
S / O | Standby ou Operate |
R / T | RX ou TX |
A / B | Memory Bank |
09 | Bande active (09 = 10m) |
1b | Antenne TX + état ATU |
L / M / H | Niveau de puissance LOW / MID / HIGH |
0000 | Puissance de sortie (Watts) |
0.00 / 0.00 | SWR avant ATU / SWR antenne |
0.0 / 0.0 | Tension PA (V) / Courant PA (A) |
24 | Température heatsink (°C) |
N / N | Warnings / Alarms |
Le protocole permet aussi d’envoyer des commandes — l’équivalent des touches du panneau avant : OPERATE/STANDBY, TUNE, changement de puissance, sélection d’antenne…
2. Identification du port COM
Petit piège si vous utilisez aussi un Flex-6500 : celui-ci crée plusieurs ports virtuels FlexRadio. Le SPE apparaît comme USB Serial Port (COMx), à ne pas confondre.
COM4 — FlexRadio Virtual Serial Port ← Flex-6500, pas l'ampli ! COM3 — USB Serial Port ← SPE Expert 1.3K-FA
3. Le code Python
Le projet se compose de deux fichiers :
spe_expert.py — le driver bas niveau. Il implémente le protocole SPE, gère les paquets, vérifie les checksums et parse la chaîne CSV :
from spe_expert import SPEExpert
amp = SPEExpert('COM3')
with amp:
status = amp.get_status() # retourne un objet AmpStatus
amp.send_key('OPERATE') # envoie une commande
amp.monitor(interval=1.0) # polling continu avec callbackspe_monitor.py — la fenêtre tkinter de monitoring temps réel. Elle interroge l’ampli toutes les 500 ms dans un thread séparé et met à jour l’affichage via after(). Les commandes des boutons transitent par une queue.Queue thread-safe.
4. Ce qu’affiche le monitor

- Barre de puissance graduée jusqu’à 1 300 W — verte → jaune → rouge
- Barres SWR ATU et antenne — rouge dès 1,6:1 (seuil de protection de l’ampli)
- Tension et courant PA lus en temps réel
- Puissance consommée = V × I, rendement = Pout/Pin, puissance dissipée
- Warnings et alarmes avec code couleur
Mesures réelles en FT8 LOW — 10m
| Mesure | Valeur |
|---|---|
| Puissance sortie | 153 W |
| SWR antenne | 1,00 |
| Tension PA | 36,9 V |
| Courant PA | 13,3 A |
| P consommée | 491 W |
| Rendement | 31 % |
| P dissipée | 338 W |
Le rendement de 31 % est tout à fait normal pour un solid-state classe AB en mode LOW (alimentation ~32 V). En mode MAX (48 V), il monte à 50–55 %.
5. Les boutons de commande
| Bouton | Action |
|---|---|
OPERATE | Bascule Standby ↔ Operate |
TUNE | Lance l’accordeur automatique |
POWER | Cycle LOW → MID → HIGH |
INPUT | Bascule Input 1 ↔ 2 |
ANTENNE | Sélectionne l’antenne suivante |
BACKLIGHT | Éclairage LCD (utile en remote) |
6. Exécutable Windows
Pour les utilisateurs sans Python, le projet fournit un exécutable Windows autonome compilé avec PyInstaller. Pas d’installation requise — il suffit de télécharger et lancer.
7. Compatibilité
Le protocole est identique pour le SPE Expert 2K-FA. Seul l’identifiant diffère (20K au lieu de 13K) et le nombre d’antennes gérées (6 au lieu de 4).
Téléchargement
⬇ github.com/albertM-hub/SPE-monitor
Cet article est reproduit sur HamAnalyst avec l’autorisation de son auteur, Albert Müller, qui en conserve la pleine propriété intellectuelle. Retrouvez les travaux originaux sur : ON5AM.
Licencié Harec depuis 1990, après une pause de quelques années, j'ai renouvelé mon intérêt pour la radio, je suis particulièrement actif en HF, appréciant le FT8, les contest et la chasse au Dx. Passionné d'informatique, je suis convaincu que le monde des radioamateurs doit évoluer avec les avancées technologiques, notamment avec l'émergence de l'IA dans nos shack.






