Manual IP switch II

This revision is from 2019/01/24 21:50. You can Restore it.

← Order page

← Old web page | Previous MK1 version

Manual IP switch MK2 is delivered with two parts - IP relay diver KIT (needs to assemble) and assembled IP control. Both parts have firmware installed and automaticaly pair in local network with available DHCP server.

Quick start guide in two step

  1. IP Switch relay driver KIT
    • Assembly KIT by this instructions.
    • Connect ethernet to local LAN with available DHCP server
    • Connect 5V power DC adapter
    • Set NET-ID-sufix with BCD switch in the range 0-7, for example 0.
  1. IP control
    • This part is assembled and tested.
    • Connect ethernet to local LAN with available DHCP server
    • Set NET-ID-sufix with bottom side BCD switch in the range 0-7, the number must be the same as on IP-switch relay driver.
    • Connect micro USB cable for power supply.
    • Wait to pair and start to use.

The hardware

  • IP Switch relay driver KIT is on its own page.
  • IP control

  • 1 - rotary Encoder switch one from 2-16 outputs
  • 2 - status LCD display
    • Points in the first row indicate the scope of the encoder.
  • 3 - NET-ID BCD, switch sufix in range 0-7
  • 4 - 25 pin D-SUB (inputs outputs not use)
    • PIN-1 DC power, typicaly 13,8V from transceiver
    • PIN-18 PTT input
    • PIN-14 GND
  • 5 - Ethernet
  • 6 - micro USB for upload firmware or power
  • 7 - eight light button - light after receive confirming from remote relay

Circuits

Pinouts 25 pin D-SUB

pin-1 in Input power 8-18V DC from Transceiver
pin-2 in ICOM CI-V
pin-3 out TXD TTL
pin-4 out TXD TTL inverted
pin-5 out TXD 232 level
pin-6 out PTT output
pin-7 out Relay 2
pin-8 out Relay 4
pin-9 out Relay 6
pin-10 out Relay 8
pin-11 in/out BCD4
pin-12 in/out BCD2
pin-13 in AZ
pin-14 - GND
pin-15 in RXD TTL
pin-16 in RXD TTL inverted
pin-17 in RXD 232 level
pin-18 in PTT in
pin-19 out Relay 1
pin-20 out Relay 3
pin-21 out Relay 5
pin-22 out Relay 7
pin-23 out +5V
pin-24 in/out BCD3
pin-25 in/out BCD1
shield - GND

Firmware

  1. Download and install Arduino IDE 1.8.3 od older
  2. Install library
    1. Wire
    2. LiquidCrystal_I2C or LiquidCrystal_PCF8574
  3. Download Band Decoder 2 firmware source from GitHub
  4. Preset two jumper in P10/P11 pin geader
  5. Connect micro USB cable between band decoder and PC
  6. Configure... (more in the chapter Configure TRX inputs)
  7. Select menu Tools/Board:"Arduino Nano"
  8. Select menu Tools/Port/YOUR-CONNECTED-PORT
  9. Upload firmware

CONFIGURE INPUTS

Individual functionality is enable or disable with coment/uncoment preset line

First sets global frequency rules which they choose BAND number by frequency with a resolution of one Hz. Also may be use for partition one band to more subbands.

//Freq Hz from       to   Band number
     {1810000,   2000000},  // #1 [160m]
     {3500000,   3800000},  // #2  [80m]
     {7000000,   7200000},  // #3  [40m]
    {10100000,  10150000},  // #4  [30m]
    {14000000,  14350000},  // #5  [20m]
    {18068000,  18168000},  // #6  [17m]
    {21000000,  21450000},  // #7  [15m]
    {24890000,  24990000},  // #8  [12m]
    {28000000,  29700000},  // #9  [10m]
    {50000000,  52000000},  // #10  [6m]
   {144000000, 146000000},  // #11  [2m]
   {430000000, 440000000},  // #12  [70cm]
   {1240000000, 1300000000},  // #13  [23cm]
   {2300000000, 2450000000},  // #14  [13cm]
   {3300000000, 3500000000},  // #15  [9cm]
   {5650000000, 5850000000},  // #16  [6cm]

Second uncomment and activate only one input in source code

//=====[ Inputs ]=============================================================================================

// #define ICOM_CIV           // read frequency from CIV
// #define KENWOOD_PC         // RS232 CAT
//#define YAESU_BCD          // TTL BCD in A
// #define ICOM_ACC           // voltage 0-8V on pin4 ACC(2) connector - need calibrate table
// #define INPUT_SERIAL       // telnet ascii input - cvs format [band],[freq]\n
// #define YAESU_CAT          // RS232 CAT YAESU CAT since 2015 ascii format
// #define YAESU_CAT_OLD      // Old binary format RS232 CAT ** tested on FT-817 **

And connect to TRX as described below

Available Inputs

Icom CI-V

  • Activate uncomment line
    #define ICOM_CIV
  • And settings with
    #define SERBAUD        9600  // [baud] Serial port in/out baudrate
    #define WATCHDOG       10    // [sec] determines the time, after which the all relay OFF, if missed next input data - uncomment for the enabled
    #define REQUEST        500     // [ms] use TXD output for sending frequency request
    #define CIV_ADRESS   0x56  // CIV input HEX Icom adress (0x is prefix)
    
  • short JP1
  • short P10 left/down
  • short P11 left/down
  • Connect trough two wire line

Kenwood/Elecraft RS232

  • Activate uncomment line
    #define KENWOOD_PC
  • And settings with
    #define SERBAUD        9600  // [baud] Serial port in/out baudrate
    #define WATCHDOG       10    // [sec] determines the time, after which the all relay OFF, if missed next input data - uncomment for the enabled
    #define REQUEST        500     // [ms] use TXD output for sending frequency request
    
Sniffing mode
  • short P11 right/top
  • Connect trough two wire line

Request mode
  • short P10 right/top
  • short P11 right/top
  • Connect trough three wire line

Kenwood (old) TS-x50 inverted TTL
  • short P10 right/bottom
  • short P11 right/bottom
  • Connect trough three wire line

YAESU/General BCD

  • Activate uncomment line
    #define YAESU_BCD
  • Connect trough five wire line

Icom ACC voltage

Hardware dependency
  • Open JP6 SMT pad on bottom side of PCB
  • Short JP7 SMT pad on bottom side of PCB
  • Short JP9 SMT pad on bottom side of PCB - must be, else risk damage the procesor.
How to calibrate
  • After make hardware dependency
  • Connect trough two wire line voltage from TRX to pin13 on DB25 connector according to picture

  • Activate uncomment line
    #define ICOM_ACC
  • need disable watchdog
     // #define WATCHDOG       10    // [sec] determines the time, after which the all relay OFF, if missed next input data - uncomment for the enabled
  • Upload firmware
  • Read voltage from LCD by band, and preset rules in table
            //=====[ Icom ACC voltage range ]===========================================================
    
            if (AccVoltage > 0.73 && AccVoltage < 1.00 ) {BAND=10;}  //   6m   * * * * * * * * * * * * * * * *
            if (AccVoltage > 1.00 && AccVoltage < 1.09 ) {BAND=9;}   //  10m   *           Need              *
            if (AccVoltage > 1.09 && AccVoltage < 1.32 ) {BAND=8;}   //  12m   *    calibrated to your       *
            if (AccVoltage > 1.32 && AccVoltage < 1.55 ) {BAND=7;}   //  15m   *         own ICOM            *
            if (AccVoltage > 1.55 && AccVoltage < 1.77 ) {BAND=6;}   //  17m   *     ----------------        *
            if (AccVoltage > 1.77 && AccVoltage < 2.24 ) {BAND=5;}   //  20m   *    (These values have       *
            if (AccVoltage > 0.10 && AccVoltage < 0.50 ) {BAND=4;}   //  30m   *   been measured by any)     *
            if (AccVoltage > 2.24 && AccVoltage < 2.73 ) {BAND=3;}   //  40m   *          ic-746             *
            if (AccVoltage > 2.73 && AccVoltage < 2.99 ) {BAND=2;}   //  80m   *                             *
            if (AccVoltage > 2.99 && AccVoltage < 4.00 ) {BAND=1;}   // 160m   * * * * * * * * * * * * * * * *
            if (AccVoltage > 0.00 && AccVoltage < 0.10 ) {BAND=0;}   // parking
    
            //==========================================================================================
    
  • Upload firmware again
  • Precise calibrate value reach with measure voltage on Aref input (C17) and insert to code
    float ArefVoltage = 4.228;            // Measure on Aref pin 20 for calibrate

YAESU CAT

  • Activate uncomment line
    #define YAESU_CAT
  • And settings with
    #define SERBAUD        9600  // [baud] Serial port in/out baudrate
    #define WATCHDOG       10    // [sec] determines the time, after which the all relay OFF, if missed next input data - uncomment for the enabled
    #define REQUEST        500     // [ms] use TXD output for sending frequency request
    
Sniffing mode
  • short P11 right/top
  • Connect trough two wire line

Request mode
  • short P10 right/top
  • short P11 right/top
  • Connect trough three wire line

Input Serial

Activate uncomment line

#define INPUT_SERIAL

  • Disable watchdog
     // #define WATCHDOG       10    // [sec] determines the time, after which the all relay OFF, if missed next input data - uncomment for the enabled

Not need any hardware settings, only send via USB to serial line ascii characters in preconfigured baudrate.

X,YYYYYYY\n

  • X - band output in range 0-14, if activate BCD output range is 0-10 because 11-14 reserved for BCD. 0 (zero) = no output will be turned on.
  • YYYYYYY - frequency in Hz - has no effect on the output relays, used if any CIV/CAT outputs activated.
  • \n - is LF Line Feed (0A in hex)

CONFIGURE OUTPUTS

You can uncomment more than one output, but not all combinations are worked.

Always usable - may all at once.

Only one from (not available during active Frequency request option (available only one TXD line)

//=====[ Outputs ]============================================================================================
// #define SERIAL_echo        // Feedback on serial line in same baudrate, CVS format <[band],[freq]>\n
// #define ICOM_CIV_OUT       // send frequency to CIV ** you must set TRX CIV_ADRESS, and disable ICOM_CIV **
// #define KENWOOD_PC_OUT     // send frequency to RS232 CAT ** for operation must disable REQUEST **
// #define YAESU_CAT_OUT      // send frequency to RS232 CAT ** for operation must disable REQUEST **

8 output driver

  • Allways enabled.

How to expand outputs

Band decoder use internal shift register with 8 outputs. This is free expandable. You can connect next shift register to P5 output connector. Schematics module for serial chain linkink on picture.

And sets number of all shift register in firmware

  • internal = 1
  • internal + one external =2

int NumberOfBoards = 2;    // number of eight byte shift register 0-x

SERIAL ECHO

Activate uncomment line

#define SERIAL_echo

Requires setting

#define SERBAUD  9600

Next > Upload Firmware →

YAESU BCD output

Always activate - except enable BCD input.

You can set rules to select BCD output, dependency to detected band input.

//=====[ BCD OUT ]===========================================================================================

        const boolean BCDmatrixOUT[4][16] = { /*
        --------------------------------------------------------------------
        Band # to output relay   0   1   2   3   4   5   6   7   8   9  10
        (Yaesu BCD)                 160 80  40  30  20  17  15  12  10  6m
        --------------------------------------------------------------------
                                 |   |   |   |   |   |   |   |   |   |   |
                                 V   V   V   V   V   V   V   V   V   V   V
                            */ { 0,  1,  0,  1,  0,  1,  0,  1,  0,  1,  0, 1, 0, 1, 0, 1 }, /* --> DB25 Pin 11
                            */ { 0,  0,  1,  1,  0,  0,  1,  1,  0,  0,  1, 1, 0, 0, 1, 1 }, /* --> DB25 Pin 24
                            */ { 0,  0,  0,  0,  1,  1,  1,  1,  0,  0,  0, 0, 1, 1, 1, 1 }, /* --> DB25 Pin 12
                            */ { 0,  0,  0,  0,  0,  0,  0,  0,  1,  1,  1, 1, 1, 1, 1, 1 }, /* --> DB25 Pin 25
        */};

//============================================================================================================

ICOM CIV output

Activate uncomment line

#define ICOM_CIV_OUT

Requires baud rate and CIV address in setting section of source code

#define SERBAUD      9600    // [baud] Serial port in/out baudrate
#define CIV_ADR_OUT  0x56    // HEX Icom adress (0x is prefix)

  • short JP1 left (TXD)

KENWOOD CAT output

Activate uncomment line

#define KENWOOD_PC_OUT

Requires baud rate in setting section of source code

#define SERBAUD      9600    // [baud] Serial port in/out baudrate

  • short JP1 right (TXD)
  • short JP7

YAESU CAT output

Activate uncomment line

#define YAESU_CAT_OUT

Requires baud rate in setting section of source code

#define SERBAUD      9600    // [baud] Serial port in/out baudrate

  • short JP1 right (TXD)
  • short JP7

Debug mode

Allows read comunications and show in terminal

  • Enable debug in firmware
    #define DEBUG
  • Enable inputs by connected radio
    //=====[ Inputs ]=============================================================================================
    // #define YAESU_BCD          // TTL BCD in A
    // #define ICOM_ACC           // voltage 0-8V on pin4 ACC(2) connector - need calibrate table
    // #define INPUT_SERIAL       // telnet ascii input - cvs format [band],[freq]\n
    // #define ICOM_CIV           // read frequency from CIV
    // #define KENWOOD_PC         // RS232 CAT
    // #define YAESU_CAT          // RS232 CAT YAESU CAT since 2015 ascii format
    // #define YAESU_CAT_OLD      // Old binary format RS232 CAT ** tested on FT-817 **
  • Upload firmware
  • Preset RXD P11 dependency to connected transceiver
    • 232 for RS232 communications
    • TTL for 5V level data
  • Preset P10 to USB
  • Open arduino terminal, and set same baudrate by firmware preset
    #define SERBAUD 9600
  • Sniffing communications (on picture Kenwood CAT)...

← Web page