Icom Decoding

I have a MFJ452 keyboard I purchased to experiment with and readers in my TS990S and FTDX101d, both fail regarding the decoding of mechanical keys of any sort. They do well decoding a well operated keyer or keyboard generated code. They are highly affected by QSB,QRN,QRM. I have run the reader background along with 100's QSO'S I decode mentally. On the other hand, if I configure WSJT-x to use PTT method CAT and Mode Data/Pkt, FT8 loose almost all signals. 90% of the FT8 signals disappear and only 10% or less can be decoded. Android emulator for mac free download. In this case, when I change band from 10m, 20m, 40m,80m all them are set USB in the rig, but all bands are almost 'silent' on FT8.

  1. Ior Decoder
Band data
Icom rigs have their own unique way of providing information to external rigs based on the current band. This information is provided on a single pin on the ACC-2 socket by varying the voltage from 0-8V (see figure below).
Most peripheral equipment use the ubiquitous YAESU band data method as follows
This project uses an arduino to read the voltage from the ACC2 pin, determines the band and then converts it to a YAESU band data to use with the many peripherals that support the latter. As the arduino can sense up to 5V (TTL level) and the icom outputs up to 8V, a voltage divider is required to fool the arduino analog pin that 8V is 5V! Here is the schematic:

R2=10K
Use Digital Pins 9, 10, 11, 12 for YAESU output DCBA
You can use the Pin 1 for ACC2 to supply the voltage for the arduino
So this voltage divider converts the Icom voltages as follows:

Voltage
160m
4.3-4.8
6.0 – 6.5V
40m
3.06-3.43
0 – 1.2V
20m
2.43-2.81
3.0 – 3.5V
15m
1.81-2.18
2.0 – 2.5V
10m
6m
0.75-1.19
So once the circuit is complete, you need to program this using the arduino development environment. Find more about this here
Copy and paste the following code:
Arduino Code:
//Marios Nicolaou 5B4WN (c) 2009 7 24
//GPL licence
//pins + o =+
// o o
// o o
int icomBandPin = 5; // select the input pin for the potentiometer
int realVoltage = 8; // variable to store the value coming from the sensor Volts
int sensedVoltage=0;
int D=9;
int C=10;
int B=11;
int A=12;
float calculatedVoltage=0;
int band=0;
int counter =0;
int previousValue=0;
void setup() {
Serial.begin(9600);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
}
void loop() {
// read the value from the sensor:
sensedVoltage = analogRead(icomBandPin);
//get 5 consecutive values
// counter++;
if (counter5) {
calculatedVoltage = float(sensedVoltage)*5/1024;
Serial.print (sensedVoltage);
Serial.print (' - ');
Serial.print (calculatedVoltage);
Serial.print (' - ');
band=getBand(calculatedVoltage);
Serial.println(band, DEC);
delay (20);
} else {
if (abs(previousValue-sensedVoltage)>10) {
//means change or spurious number
previousValue=sensedVoltage;
} else {
counter++;
previousValue=sensedVoltage;
}
}
}
int getBand(float voltage) {
int band=0;
/* A B C D
160 0 0 0 1
80 0 0 1 0
40 0 0 1 1
20 0 1 0 1
15 0 1 1 1
10 1 0 0 1
*/
if (voltage>4.20 && voltage<4.68) {
band=160;
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
} else if (voltage>3.50 && voltage<4.20) {
band=80;
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
} else if (voltage>=2.95 && voltage<3.50) {
band=40;
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
} else if(voltage>=2.30 && voltage<2.95) {
band=20;
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
} else if (voltage>=1.70 && voltage<2.30) {
band=15;
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
} else if (voltage>=1.2 && voltage<1.7) {
band=10;
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
} else if (voltage>=0.75 && voltage<1.2) {
band=6;
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
} else if (voltage <0.75) {
band=30;
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, LOW);
}
return band;
}
You can use the inbuilt serial port terminal application within the arduino IDE to debug your board. Use 9600 baud for this and check that the voltages for each band are correct an if necessary adjust the values in the code above.
I have built this using an arduino RBBB and a FTDI programming cable. I have tested it in 3 contests now and it has worked without fail.
Use the information on this page at your OWN RISK. 5B4WN will not be liable to any damage to your equipment that may have resulted from information obtained from this page/website!

WA4SIX has modified the above code for BCD see here
mnicolao added:24-07-2009 13:14
Specifications | Accessories | Screens | Rear Panel | DSP | Bandwidths | Memories | Large Image

The Icom IC-PCR1000-02 BON wideband computer receiver connects externally to your PC. This provides compatibility with many computer models, even laptops. Incredible coverage is yours with reception from 10 kHz to 1300 MHz (less cellular). Modes of reception (and bandwidth) include AM (15/6 kHz), FM-Wide (230 kHz), FM-Narrow (15/6 kHz), SSB (2.8 kHz) and CW (2.8 kHz). A triple conversion circuit ensures good performance over the entire range. Shortwave sensitivity (1.8-28 MHz) is an impressive 0.28µV. The PCR1000 lets you choose from three interface screens: Communications Receiver Screen, Component Receiver Screen or Radio Screen. Click here to view screens.

Other refinements include: Unlimited Memories, IF Shift, NB, AFC, Voice Scan Control, CTCSS decode, six scan types and on-line help. A powerful Band Scope function allows you to visually check signals within a specified frequency range. The span range may be selected as: ± 25 kHz, ± 50 kHz, ± 100 kHz or ± 200 kHz. A built-in speaker is provided. Install android emulator mac. Jacks include: BNC antenna, mini stereo audio out, DB-9F RS-232C and mini Packet. Click here to view rear panel. The sophisticated UT-106 Digital Signal Processing module is an extremely effective option.

System requirements: PC with 486x4, Pentium 100 or higher CPU, Windows 3.1, 95, 98, ME, XP, 16 Mb RAM, 3.5' FD, 10 Mb HD space and VGA or SVGA display.

Icom

This IC-PCR1000 BON version includes the sophisticated Bonito 4.2 Software package in addition to the ICOM software. Click here for information on the supplied Bonito Software. There is also optional Bonito 5.2 software available.

The PCR1000 does come with an AC adapter, but can also be powered from 12 VDC at 0.7 Amps (with optional OPC-131 DC power cable). Only 5'x7.9'x1.2' 2 lbs. 3 oz.

Os x version 10.11 download. The PCR1000-04 model is the same as above, but without the 824-849 / 869-894 MHz cellular gap and was available for government or qualifying communications provider purchase order or for export only.

Accessories

Ior Decoder

Order #
PhotoDescriptionList PriceYour PriceOrder
AH-7000
Outdoor omni-antenna with 50 foot lead-in covering 25-1300 MHz. The discone design offers the best performance possible in an omni-directional antenna. This stainless steel antenna is 5.5 feet (1.7m) high and attaches to any standard mast (not supplied) with two supplied U-bolts. The AH7000 comes with a preassembled 50 foot cable with an N connector at each end. Adapter #4571 will be required to connect to the PCR1000.
Discontinued
#4571UG349/AU
N female to BNC male adapter.
$ 6.20 $ 4.95
#2122UG255
SO-239 (UHF) to BNC male adapter.
(To connect a PL259 to PCR1000).
$ 6.99$ 2.95
CP-11
Cigarette lighter plug cable.
Discontinued
OPC-131
Fused 12 VDC Power Cord (2 amp)
Discontinued
UT-106
This plug-in option provides all mode noise reduction and gives you an audio Notch Filter in AM, SSB and FM.
Discontinued
Bonito RC52 IC-SWL
RadioComm Bonitio 5.2 software CD. Click here for INFO
Discontinued