Nouveaux transceiver SDR QRP CommRadio CTX-10

Commradio CTX-10Le site QRPer.com a annoncé l’arrivée prochaine d’une nouvelle radio très prometteuse (http://qrper NULL.com/2016/10/the-new-commradio-ctx-10-qrp-general-coverage-transceiver/).

Offrant la couverture générale du 160 au 10 mètres (réception de 200 KHz à 30 MHz), tous les modes et une puissance en émission allant jusque 10W dans un format plutôt valorisant, la CommRadio CTX-10 a de beaux atouts. Elle semble aussi optimisée pour le QRP avec un affichage OLED économique en énergie ainsi que des batteries Li-ion de 2600mAh avec chargeur intelligent inclus. Encore mieux, une boîte d’accord d’antenne et un décodeur CW sont présents.

Pas de prix annoncé.

Nouveaux kits récepteurs SDR par Hans G0UPL

Récepteur SDR I/Q QRP Labs G0UPLHans vient d’annoncer deux nouveaux kits originaux dans la lignée de ses célèbres balises QRSS ou WSPR Ultimate qui ont fait retrouver à des milliers de radioamateurs le goût de la construction de kits.

Le premier est un kit récepteur SDR de type I/Q (détection QSD) qui peut servir à la réception des signaux faibles WSPR ou QRSS, mais pas seulement. Il est proposé à 25 USD avec un module filtre de bande aux choix entre 160m et 10m.

Module démodulateur polyphase QRP Labs G0UPLLe deuxième est un module optionnel de démodulateur polyphase pour le récepteur. Il permet de se passer d’une carte son stéréo pour la démodulation des signaux I/Q et produit un signal BLU en sortie.

Comme toujours les kits produits par Hans sont un excellent compromis prix / qualité et surtout proposent des solutions techniques originales. Ils sont ouverts à l’expérimentation et laissent la place pour la personnalisation.

LNR Precision LD-11 : Premier transceiver HF QRP à couverture générale et conversion directe

QRP HF SDR transceiver

QRP HF SDR transceiver

Ouf, le titre est long mais c’était dur de faire plus synthétique car la nouvelle est de taille. En tous cas suffisante pour que je me motive à écrire un nouvel article sur ce blog que je pensais laisser en sommeil.

Ce matin j’ai reçu un message de K4SWL qui a tout de suite attiré mon attention. Sur son blog il présente un petit bijou qui va intéresser pas mal de monde (http://qrper NULL.com/2016/05/the-new-lnr-precision-ld-11-transceiver-is-essentially-general-coverage/). Le LD-11 est en effet une première : QRP et SDR comme le KX3 d’Elecraft et à conversion directe comme l’Icom IC-7300. Il est proposé à 775 USD mais est actuellement en rupture de stock (les premiers sont partis comme des petits pains). Vous pouvez surveiller le réapprovisionnement sur la boutique de LNR Precision (http://www NULL.lnrprecision NULL.com/store/#!/LD-11/p/64137743/category=10468544).

Les caractéristiques sont les suivantes :

  • Réception et transmission tous modes (BLU, CW, AM, FM, Digi)
  • Couverture toutes bandes radioamateurs (et apparemment aussi 11m)
  • Processeur STM32 et ADC/DAC à échantillonage directe
  • Gamme dynamique de 100dB à 10 KHz, 130dB à 50 KHz
  • Puissance en émission entre 5 et 8W pour une tension d’alimentation entre 11,5V et 14,8V
  • Consommation de 350mA en réception et jusque 1,5A-2A en émission
  • Bandscope intégré et affichage du ROS, de la puissance et de la tension d’alimentation
  • Oscillateur local Si570, stabilité +/- 3 ppm

Autre point intéressant, en modifiant les paramètres du transceiver, il est possible d’élargir les limites des bandes amateurs et donc de le transformer en récepteur à couverture générale. Comme les fitlres sont entièrement paramètrables jusquà 9,6KHz de largeur, la réception AM est apparemment excellente.

Merci et à bientôt depuis d’autres latitudes.

Comme certains l’ont peut-être déjà lu ailleurs, ce sont mes dernières semaines au Viêt-Nam, et donc les dernières semaines d’opérations en tant que XV4Y. Je vais bientôt partir découvrir de nouveaux horizons professionnels et challenge personnels. Comme nous vendons la maison, je vais aussi commencer à démonter les antennes dès la semaine prochaine pour ne garder que le dipôle filaire 80m qui lui se retire en moins d’une heure.

Ces dernières années ont été très riches pour moi autour de notre hobby commun : le radio-amateurisme. J’ai pu profiter de plusieurs de ses facettes comme la chasse au DX, les concours, la construction personnelle, les signaux faibles, les antennes et même un peu de réception de satellites. J’ai aussi rencontrer des personnalités intéressantes qui sont venu me rendre visite ici ou par le biais d’internet.

Dans les mois qui viennent mon activité radio sera plus limitée même si je vais emporter dans mes valises un peu de matériel. Je pense que je retrouverai les joies du traffic local en VHF sur relais et les réunions de radio-club où on peut partager ces derniers projets et qui m’ont manquées ces dernières années.

Ce blog en tant que tel n’a plus de raison d’être et sera arrêté d’ici la fin du mois. Toutes les adresses e-mails utilisées pour informer les lecteurs seront bien entendu supprimées dès ce week-end puisque c’est le dernier article. Depuis 2009 j’ai écrit plus de 800 articles sans compter ceux pour les divers magazines en France et aux USA. Tout ces articles seront archivés sur un blog plus “épuré” qui sera hébergé sur QScope.org.

Ce blog avait démarré comme de simples réflexions personnelles, il m’a ensuite permis de partager mes propres découvertes lorsque j’ai repris une activité radio après 10 ans d’inactivité. Béotien en traffic décamétrique, j’ai appris le DX, la propagation en HF, les concours radio, la télégraphie… et vous m’avez suivi.

Je ne donnerai pas de chiffres car on leur fait dire ce que l’on veut, mais le lectorat du blog a dépassé mes espérances et progressé au fil des ans même quand je publiais moins régulièrement. Merci pour cette fidélité qui m’a donné une raison de continuer à écrire et à toujours vouloir apprendre plus.

En guise d’au revoir voici une petite photo récente de ma famille prise sur le marché flottant juste avant le Nouvel An Lunaire. Aussi, si vous entendez ZL/F1TUJ au cours des mois qui viennent, n’hésitez pas à me faire un petit bonjour…

73,
Yannick – XV4Y.

Famille XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/02/DSC_0028 NULL.jpg)

Modification d’une radio DMR bon marché pour envisager les modes D-STAR, P25 et System Fusion

Tytera DM-380 VA3XPR (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/IMG_9729-1024x768 NULL.jpg)Le MD-380 de Tytera est un petit transceiver portable disponible en version VHF et UHF (couvrant les bandes radioamateur) et qui permet de transmettre en analogique FM et surtout en numérique DMR (http://www NULL.va3xpr NULL.net/tyt-md-380-dmr-portable-radio-review/). Son prix très abordable (autour de 110 $US) et sa qualité de fabrication correcte le rendent attractif. Toutefois, les OMs on noté que son logiciel interne (firmware) d’origine est très mal ficelé avec de nombreuses incohérences et bugs. Certains OMs comme DD4CR et W7CPH ont donc commencé à regarder ses entrailles pour s’apercevoir qu’il était construit autour du très connu STM32F405 et donc en principe potentiellement modifiable (http://hackaday NULL.com/2016/01/19/shmoocon-2016-reverse-engineering-cheap-chinese-radio-firmware/). Ils ont réussi à casser la protection RDP et faire le reverse-engineering du firmware d’origine écrit autour de MicroC/OS-II.

La prochaine étape c’est d’écrire un logiciel complet mais à partir de FreeRTOS cette fois. Le groupe d’OM cherche des compétences capables d’implémenter de nouveaux protocoles de transmissions numériques comme D-STAR, P25 ou System Fusion. N’hésitez pas à les contacter si vous pouvez les aider.

Tytera DM-380 ouvert (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/radioapart NULL.png)A noter que d‘autres OMs sur les forums de QRZ.com mettent en doute la faisabilité de la chose (http://forums NULL.qrz NULL.com/index NULL.php?threads/hams-hack-110-dmr-radio-to-allow-support-for-d-star-p25-and-system-fusion NULL.508733/). Pour eux le matériel utilisé par le DM-380 est trop bas de gamme (dérive de la synchro TDMA et premier étage RF trop large) et même le mode DMR est de piètre qualité.

L’article original de VA3XPR (http://www NULL.va3xpr NULL.net/hams-hack-110-dmr-radio-allow-support-d-star-p25-system-fusion/). A noter qu’il comporte certaines imprécisions.

Code source ultra-simpliste pour Arduino/MSP430 d’un VFO à AD9850/AD9851

Prototype kit Balise WSPR DDS XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/12/100_3339 NULL.jpg)Dans un commentaire Sylvain F6GGX m’a demandé après ce bout de code. Il était disponible gratuitement dans la boutique mais comme j’ai désactivé cette dernière il a disparu du site…
Voici donc le code source d’un VFO très simpliste à base de AD9850/AD9851 qui utilise les librairies que j’ai écrites ou adaptées (http://xv4y NULL.radioclub NULL.asia/docs/). Honnêtement je pense pas que ce code soit très utile, rien de particulièrement compliqué et l’ergonomie à 4 boutons n’est pas super. C’est utile en dépannage avec le kit balise WSPR que je produisais mais c’est tout. Le code est écrit pour Energia sur MSP430, le porter sur Arduino (ATMega328) ne devrait poser aucun problème.

/* Simple VFO with DDS for MSP430G2553
 * Code for Energia 009
 
 * By Yannick DEVOS - XV4Y - March 2013
    http://xv4y.radioclub.asia/

    Copyright 2012-2013 Yannick DEVOS under GPL 3.0 license
    Any commercial use or inclusion in a kit is subject to author approval

====
 * Agile Frequency generation using AD9850/9851 DDS
 * Output to Nokia 5110 compatible LCD
 * Check if P2_2 has changed state and switch VFO (like when PTT is pressed to operate split)

Usage for short press of buttons :
- Up / Down      increase or decrease the frequency following the choosen digit
- Left / Right   increase or decrease the digit
- OK             validate the frequency and send it to the DDS
Long press of buttons :
- Left           Set the current VFO to the next band bottom frequency
- Right          VFO A = VFO B
- OK             Switch between VFO A and VFO B

====
Revision history :
v1.00    2013-03-18
         First release

====
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You can download a copy of the GNU General Public License at <http://www.gnu.org/licenses/>
*/

// Here modify to your taste or needs

#define PTT_key          P2_2
#define ANALOG_BUTTONS   A5
#define AUTO_VALID       // Uncomment if you want the DDS frequency to be udapted automatically after each value change

#define DEFAULT_FREQ    8            // Value 8 in Frequencies array is 14000000
// Here under don't touch anything unless you know what you do

#include <legacymsp430.h>
#include <AD9850.h> // Library for AD9850 control by MSP430

#include <LCD_5110.h>

              // Frequencies (1 Hz precision) you can select
const unsigned long int frequencies[] = {
  137000, 471000, 501000, 1830000, 3500000, 5200000, 7000000, 10100000,
  14000000, 18068000, 21000000, 24890000, 28000000, 50000000, 70000000};
  
const byte Analog_Noise = 5;    // Margins for reading analog buttons

boolean   vfo=0, saved_PTT;  // VFO A or B and PTT input state
char      multiplier, aff_multiplier, freq_select=DEFAULT_FREQ;
unsigned  long int frequency_A=frequencies[DEFAULT_FREQ], frequency_B=frequencies[DEFAULT_FREQ], debounce;

char chaine_txt[6] = {' ', ' ', ' ', ' ', ' ', 0x00};


AD9850 myDDS (P1_0, P1_1, P1_2, P1_4);  // Call the AD9850 Library, AD9850 pins for CLOCK, LOAD, DATA and RESET
//AD9850 myDDS (P1_1, P1_2, P1_0, P1_4);  // Call the AD9850 Library, AD9851 pins for CLOCK, LOAD, DATA and RESET

LCD_5110 myScreen(P2_3,    // Chip Select *
         P1_6,    // Serial Clock *
         P2_5,    // Serial Data *
         P2_4,    // Data/Command *
         NULL,    // Reset *
         P1_7,    // Backlight
         NULL);  // Push Button 0

//******************************************************************
// Defining pins mode and initializing hardware

void setup() {
  pinMode(PTT_key, INPUT_PULLUP);

  myDDS.begin();
  
   
  pinMode(ANALOG_BUTTONS, INPUT);

  myScreen.begin();
  myScreen.setBacklight(1);
    
  myScreen.setFont(1);
  myScreen.text(0, 0, "sVFO");
  myScreen.text(0, 2, "AD9850");
  myScreen.setFont(0);
  myScreen.text(0, 4, "v1.00 - XV4Y");
  myScreen.text(0, 5, "Init...");
  
  delay(1000);
  
  myDDS.reset();
  
  myDDS.SetFrequency( frequency_A, 0, false );

  digitalWrite( PTT_key, LOW );

};

//******************************************************************
// Here starts the actual sequence sending

void loop() {
    myScreen.clear();
    myScreen.setBacklight(1);
    myScreen.setFont(1);
    if (vfo == 0) {
      myScreen.text(0, 0, "VFO A");
      myDDS.SetFrequency( frequency_A, 0, false );
    } else {
      myScreen.text(0, 0, "VFO B");
      myDDS.SetFrequency( frequency_B, 0, false );
    };

    myScreen.setFont(0);
    display_freq (frequency_A, 3);
    display_freq (frequency_B, 5);

    while (read_buttons()==5 || read_buttons()==4 || read_buttons()==2) delay(10); // Debounce except for UP/DWN

    while (1) {
      // Update the frequencies display
      if (multiplier > 5) {
        aff_multiplier = multiplier + 2;
      } else if (multiplier > 2) {
        aff_multiplier = multiplier + 1;
      } else {
        aff_multiplier = multiplier;
      };
      myScreen.text(0, 4, "          ");
      if (vfo == 0) {
        myScreen.text(9-aff_multiplier, 4, "^");
      } else {
        myScreen.text(9-aff_multiplier, 4, "v");
      }
      display_freq (frequency_A, 3);
      display_freq (frequency_B, 5);
  
      // Read the analog buttons input
      if(read_buttons()==1) {            // Up we increase frequency
        delay(200);  // Debounce
        if (vfo == 0) {
          frequency_A = frequency_A + powf(10,(float)multiplier);
        } else {
          frequency_B = frequency_B + powf(10,(float)multiplier);
        };
#if defined AUTO_VALID
        break;
#endif

      } else if (read_buttons()==3) {    // Down we decrease frequency
        delay(200);  // Debounce
        if (vfo == 0) {
          frequency_A = frequency_A - powf(10,(float)multiplier);
        } else {
          frequency_B = frequency_B - powf(10,(float)multiplier);
        };
#if defined AUTO_VALID
        break;
#endif

      } else if (read_buttons()==2) {    // Left we increase multiplier
        debounce = millis();
        while (read_buttons()==2) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we do "Band UP"
            freq_select++;
            if (freq_select > 14) freq_select = 0;
            if (vfo == 1) frequency_B = frequencies[freq_select]; else frequency_A=frequencies[freq_select];
            multiplier--;
            break;
          };
        };
        multiplier++;
        if (multiplier > 7) multiplier = 7;

      } else if (read_buttons()==4) {    // Right we decrease multiplier
        debounce = millis();
        while (read_buttons()==4) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we do VFO A=B
            if (vfo == 1) frequency_A = frequency_B; else frequency_B=frequency_A;
            multiplier++;
            break;
          };
        };
        multiplier--;
        if (multiplier < 0) multiplier = 0;

      } else if (read_buttons()==5) {    // OK we go out
        debounce = millis();
        while (read_buttons()==5) {  //Debounce
          if ((millis()-debounce)>1000) {  // Long press we switch VFO A/B
            if (vfo == 1) vfo=0; else vfo=1;
            break;
          };
        };
        break;   // Short press we just leave the loop so the frequency is transmitted to the AD9850
      }

      // Check if we are transmitting split (momentaneous VFO A->B switch)
      if (saved_PTT != digitalRead(PTT_key)) {
        saved_PTT = digitalRead(PTT_key);
        if (vfo == 1) vfo=0; else vfo=1;
        break;
      };
    }

};


//******************************************************************
// Display the frequency
void display_freq (unsigned long freq, char ligne) {
  myScreen.text(10, ligne, " Hz ");
  chaine_txt[5] = 0x00;
  chaine_txt[4] = 0x30 + (((freq)/1)%10);
  chaine_txt[3] = 0x30 + (((freq)/10)%10);
  chaine_txt[2] = 0x30 + (((freq)/100)%10);
  chaine_txt[1] = '.';
  chaine_txt[0] = 0x30 + (((freq)/1000)%10);
  myScreen.text(5, ligne, chaine_txt);
  chaine_txt[5] = 0x00;
  chaine_txt[4] = 0x30 + (((freq)/10000)%10);
  chaine_txt[3] = 0x30 + (((freq)/100000)%10);
  chaine_txt[2] = '.';
  chaine_txt[1] = 0x30 + (((freq)/1000000)%10);
  chaine_txt[0] = 0x30 + (((freq)/10000000)%10);
  myScreen.text(0, ligne, chaine_txt); 
}

//******************************************************************
// Display a 2 digits number
void display_number (byte number, char column, char ligne) {
  chaine_txt[2] = 0x00;
  chaine_txt[1] = 0x30 + (number%10);
  chaine_txt[0] = 0x30 + ((number/10)%10);
  myScreen.text(column, ligne, chaine_txt);
}

//******************************************************************
// Return a button value depending on the analog reading
byte read_buttons () {
  int value = analogRead(ANALOG_BUTTONS);
  if ( value<(1+Analog_Noise) ) {
    return 1;
  } else if ( value<(78+Analog_Noise) ) {
    return 2;
  } else if ( value<(146+Analog_Noise) ) {
    return 3;
  } else if ( value<(205+Analog_Noise) ) {
    return 4;
  } else if ( value<(255+Analog_Noise) ) {
    return 5;
  } else {
    return 0;
  }
}

Ampli 100W 630m par IK1HGI

Ampli 630m 472KHz 100W IK1HGI (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2016/01/schematic-u3-100w NULL.jpg)Antonio IK1HGI nous propose son amplificateur 100W Moyenne Fréquences, spécialement étudié pour suivre une balise Ultimate 3 de QRP Labs (http://funkperlen NULL.blogspot NULL.ch/2015/11/630m-band-ein-100-watt-verstarker-fur NULL.html). La bande de travail ciblée est entre 472 et 479 KHz avec une tension d’alimentation de 13,8V. Il utilise 3 transistors IRFP264 pour un gain de 35dB et un rendement de 65%. Aucun problème pour les modes “continus” comme WSPR même sous 100W.

Mon Grabber QRSS est actif sur 40m

Capture ZL2IK grabber 2014-06-04 80m XV4Y (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2014/06/Argo1140 NULL.jpg)Depuis peu, Pete de ZL2IK est actif en transmission QRSS. Il a très souvent décodé et retransmis des capture de mon signal reçu sur 80m, 40m et 30msur son grabber qui est une référence et un des rares à être actif presque 100% du temps depuis ces 5 dernières années (http://zl2ik NULL.com/Grabber NULL.html). Je souhaitais lui rendre la pareil. J’ai donc mis en place un grabber sur 40m. Malheureusement j’ai du faire face à une panne du récepteur SDR SoftRock puis du PC lui-même. Finalement depuis quelques jours cela fonctionne et Pete m’aide à affiner les paramètres.

En attendant, si vous souhaitez essayer d’être reçu au Viêt-Nam, vous pouvez vous connecter sur mon grabber et voir si votre signal QRSS arrive jusque le delta du Mékong (http://qsl NULL.net/x/xv4tuj//grabber/).

Résultats du sondage réalisé par le CQ WW – 2e partie

Sondage CQ WW - Durée d'opération limitée (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2015/12/survey2-timebycont NULL.png)Les organisateurs du concours CQ WW ont publié la suite des résultats de leur enquête sur l’avenir du concours et les améliorations à y apporter (http://cqww NULL.com/blog/2015-cq-ww-survey-results-part-2/).

Je vous laisse prendre connaissance directement des graphiques, mais les conclusions importantes sont les suivantes :

  • Une majorité de participants souhaite conserver deux catégories distinctes Single Operator Non-Assisted et Single-Operator Assisted. Seul point notable, c’est que pour les opérateurs européens le résultat est inversé par rapport au reste du monde.
  • Quelque soit la situation (une ou deux catégorie), les personnes sondées disent que cela ne changerait pas leur participation.
  • Une très nette majorité souhaite limiter la durée maximale d’opération durant les 48 heures d’un concours. C’est vrai quelque soit le type d’opération et l’âge. Par contre cette majorité est écrasante pour les européens, peut-être sont-ils défavorisés par rapport aux horaires du concours ou plus liés à des activités familiales.
  • Les participants ne souhaitent pas raccourcir le délai de 5 jours pour remettre un log.
  • 54% des opérateurs pensent qu’il est juste de ne pas compter les QSO avec des indicatifs uniques (uniques pour tout le concours et non pas seulement un OM) car ils sont vraisemblablement issus d’erreurs.
  • Une large majorité souhaite aussi rendre l’envoi de certificat papiers “optionnelle” pour réduire les coûts.

Résultats du sondage réalisé par le CQ WW

CQ WW Sondage Ages (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2015/12/survey4-age_EU NULL.png)Il y a quelques semaines, l’équipe qui organise le CQ WW avec à sa tête Randy K5ZD a lancé un sondage auprès des participants au concours (http://xv4y NULL.radioclub NULL.asia/2015/09/03/sondage-par-les-organisateurs-du-concours-cq-ww/). Le but était d’avoir une meilleure connaissance des données démographiques et des motivations des participants. Personnellement j’apprécie cette volonté de vouloir remettre en cause le format de concours existant pour qu’il le mieux possible aux aspirations des contesters actuels et surtout futurs. Attirer de nouveaux membres vers notre hobby doit être une priorité. En tout 5117 réponses ont été reçue ce qui est un échantillon très représentatif à mon avis.

La première partie des résultats tirés de ce sondage est disponible depuis environ une semaine (http://cqww NULL.com/blog/2015-cq-ww-survey-results-part-1/). Sans surprise elle dépeint une population plutôt âgée, même si elle est globalement 10 ans plus jeune en Europe qu’aux USA (les deux gros viviers de participants). Plus jeune signifie souvent moins disponible, car pouvoir consacrer 48 heures d’affilées à une activité n’est pas possible pour tous. Par contre à mon grand étonnement les participants européens sont presque deux fois plus nombreux que les américains, mais le concours CQ WW partie télégraphie tombe souvent durant le week-end de Thanksgiving ce qui limite l’assiduité.

CQ WW Sondage Motivations (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2015/12/survey6-mode NULL.png)Autres points intéressants, les motivations sont très diverses mais une grande partie des compétiteurs se considèrent comme “sérieux”. De plus, le mode favori reste la CW ce que je comprends car je la trouve plus adaptée tant au DX qu’au concours (automatisation plus facile, meilleure efficacité…). Il serait intéressant d’avoir des informations plus détaillées (motivations pour les jeunes européens par exemple), mais elles ne sont pas disponibles.

Un deuxième article devrait suivre par le comité du CQ WW qui donne des pistes de changement de règles pour réagir par rapport aux résultats du sondage. Il est maintenant disponible (http://xv4y NULL.radioclub NULL.asia/2015/12/30/resultats-du-sondage-realise-par-le-cq-ww-2e-partie/).