Skip to main content

Creating Network Transceiver using DVSwitch (or DVLink) #2-How to use

Creating Network Transceiver using DVSwitch (or DVLink) #2.How to use

I upgraded DVPi to Version 0.4 today. The download location is the same. The functionality has not changed. It just changed the default volume of the Raspberry Pi's speakers and microphone. (Speaker : 100%, Mic : 80%), Also, the button position of the Menu Screen has been changed slightly.

1.Installation and basic settings  (this article)
2.How to use 
3.Rotary encoder, PTT installation
4.Advanced usage
5.Built-in DVSwitch (I will write this only when there is someone who wants it)

1.Main screen
The below is a standby screen.

1.1 Status bar
The uppermost part of the screen is the status bar.

- The speaker and microphone icons on the left indicate the transmission or reception status.
(When receiving, the speaker is activated.)

(The microphone is activated while transmitting.)

- RxBytes and TX Bytes indicate the amount of data transmitted.

 - If you change the USE_CPUCHECK item in the dvpi.ini file to TRUE, the CPU utilization is displayed in the status bar.
  EX) Click the 'Menu' Button -> Click 'Shutdown' -> Power off -> Remvove Micro SD Card from Raspberry pi -> Insert Micro SD-Card to your computer -> Edit dvpi.ini (below image) -> Remove Micro SD Card from you Computer -> Insert Micro sd card to Raspberry pi -> Power On

Displays CPU utilization on the screen.
For reference, the following is the CPU usage when receiving voice while the external DVSwitch is connected.
In actual use, I customized the DVSwitch so that only DMR is available and built into this device. Even so, the CPU utilization rate does not exceed 15%.
I recommend you install an additional DVSwitch on this device.

 - The antenna indication indicates the connection status with the DVSwitch.

   Perhaps sometimes you will see the color change as below. Don't worry, only the ping signal came from the DVSwitch server. However, if it turns to Gray, it means that the connection to DVSwitch has been lost.

- Time
The time is displayed on the status bar.
The time is based on the Raspberry pi operating system, which is UTC.

If you want your local time to be displayed instead of UTC, you can set your area as shown below.

Download putty.exe and run it. (putty.exe is freeware)

Enter id and password
default ID : pi
default Password : dvpi

Enter sudo dpkg-reconfigure tzdata
and Press 'Enter key'

Select Geographic area and Press 'Enter Key'

Select your city and Press 'Enter Key'


It will take effect when the Raspberry pi reboots.
If you want to reboot right away, type'sudo reboot' and press 'enter key'

- Menu Button
  I explained it in a previous post. I will explain more in detail later.

1.2 Top Buttons

 - 'DMR' Button
  The original purpose was to change modes such as DMR and DSTAR.  However, I can't understand D-STAR yet, so currently only DMR is supported. So now this button has no function.

 - 'DSP'
  This is a function to apply DSP to the received voice.
Each time the button is pressed, the DSP function is switched between active and inactive.

If you want to turn off the DSP function by default when booting DVPi, edit dvpi.ini as follows. 

 It is a transmission function. Press once to turn PTT ON, press again to turn PTT OFF.
If you mount an external PTT switch using one 10k resistor and one push switch, this button is not necessary.

- Log View Select Button ('ALL LOG' Button)
All call signs received by the transceiver are stored. Is displayed on the right.
When the button is pressed, the filter is applied to the call sign displayed on the screen.

ALL LOG : Displays all received logs.

TG LOG : Only logs received from the current Talk Group are displayed.

USER LIST : Display by user.

1.3 LOG Display Window
  Click the displayed LOG item to see the details.

Below is the detailed item.

If you want to see more detailed information, edit dvpi.ini as follows.
This function uses the users.csv file.

The following is an example when USE_USERDB=TRUE is applied.

If you click Hide button, the detail window disappears

1.4 Talk Group Bar
At the bottom of the screen is TG Bar, which selects Talk Group.

Click the blue button on the right to change the TG group. 
The group changes continuously each time it is pressed.

 I just put a few more samples. You can create your own TG Group.

Turn off DVPi and insert Micro SD-Card into your computer. You should see the following file.

Create usertg3.txt. (You can easily make it by copying usertg2.txt)

Enter the TG Group name at the top of the file where TITLE is entered.

Then, add the TG included in the group with the TG number, description, and grouping (G or P <- not important. If you are not sure, put it in G).

After saving the file, insert it into DVPi and boot.
Then the TG group you created will appear as shown below.

You can create up to 20 TG Groups of your own.

If you want the TG Group you want to be displayed by default at boot time, edit dvpi.ini as follows:

0 : World TG List
1 : Recent TG List
2 : usertg1.txt
3 : usertg2.txt
4 : usertg3.txt

- TG Buttons
  You can move the Talk Group by clicking the TG button displayed on the screen.
If there are more than 5 TGs in the currently selected TG Group, other Talk Group can be displayed using the left and right arrow keys.

If the currently connected Talk Group is among the buttons below, the color of the button changes.

When changing the TG with a rotary encoder, it is displayed in a different form.
Details will be explained in the post about rotary encoder mounting.

2. Receiving screen
When receiving voice, the screen will change as shown below.

In the upper left corner, which TG is received is displayed.
In the upper right corner, the time when transmission started is displayed.
In the middle, the sender's DMR ID and call sign are displayed.
And the user's name and address are displayed.

Signal Meter (for Voice) operates during reception.

3. Transmitting Screen
When sending voice (use Press PTT), it is displayed as below.

At the top, the time at the start of transmission appears.
The second line shows the transmission time and remaining time.

To adjust the transmission timer, modify as follows.

The remaining time blinking when the transmission time is 20 seconds remaining.

4. Keypad
If you double-click the TG number or hold it down for more than 1 second, a keypad appears to enter the TG number.

After entering the desired TG on the keypad, press the OK button to switch.

5.Menu Screen - Configuration file location 
(I do not recommend using this feature)
The Menu screen was described in a previous article.
I'll explain the part that was not explained in the previous article.

This is the function to determine the location of dvpi.ini

If you are familiar with Linux, select'Same location as program' and click the'Save' button. If so, the /boot/dvpi.ini file is no longer used. This means that you can no longer edit the Micro sd-card by connecting it to your computer.

It takes effect when DVPi reboots.
In order to edit dvpi.ini, you need to connect with ssh.

The dvpi.ini location is located at /home/pi/dvpi/dvpi.ini

You can edit dvpi.ini using vi or nano

Thanks for reading


  1. very cool and interesting project Ian,i try this...i dont understand where (in which file) i must set my call sign ???thanks in advance and sorry for my english.

    1. That is a good question. I was curious when I first started DMR.
      DMR uses DMR ID instead of call sign.
      So, you need to get a DMR ID. You can find related materials on the Internet.

      When installing DVSwitch (DVPi communicates with DVSwitch), enter the issued DMR ID.
      In addition, DVSwitch or DVPi includes the DMR user DB, so the user information is displayed on the screen using the DMRID.


  2. Nice project tested and working good. Adding built-in server would be interesting, 73 de OD5SX.

    1. I plan to post a post that built in DVSwitch.
      I only use DMR, but it seems to work with just 5 files.
      The CPU usage rate does not exceed 15%, so it can be used sufficiently.

      KD8CEC Ianlee

  3. Very Nice Project. I also make Creating Network Transceiver with ethernet wireless on my HP Laptop rental. I make different transceiver projects using IP Connection and DVSwitch.

  4. Your article has been quite beneficial to me. It's both beautiful and epic. Thank you very much for the helpful information on this subject. You did a fantastic job. I'm interested in learning more about MBA dissertation proposal help. Continue to share and update. Also, please share more articles with us. Thank you very much.

  5. After a long time, I am free from exams and other work and I have plans to watch jurassic world dominion full movie at home and I have called my friend to come over and watch with me.

  6. Posting this kind of blog is very helpful for everyone. Hope many people will be interested in this post. click here


Post a Comment

Popular posts from this blog

Introduction to UV-K5 HF Fullband receive version 0.3

Introduction to UV-K5 HF Fullband receive Version 0.3 This is an introduction to UV-K5 HF full-band reception firmware 0.3HF using SI4732-A10. This version is released separately from the existing UV-K5 CEC firmware version. because space is needed to store a large PATCH file to use SI4732-A10's SSB. 0.3HF added several functions to use SSB for shortwave radio and amateur radio.

Introduction to UV-K5 HF Fullband receive version 0.41 (Changed from 0.40)

  Introduction to UV-K5 HF Fullband receive Version 0.41 (Changed from 0.40) This is an introduction to UV-K5 HF full-band reception firmware 0.4HF using SI4732-A10. This version is released separately from the existing UV-K5 CEC firmware version. because space is needed to store a large PATCH file to use SI4732-A10's SSB. 0.4HF added several functions to use SSB for shortwave radio and amateur radio.

Introduction to UV-K5 HF 0.5 (Fullband receive version)

 Introduction to UV-K5 HF 0.5 (Fullband receive version) This is an introduction to UV-K5 HF full-band reception firmware 0.4HF using SI4732-A10. This version is released separately from the existing UV-K5 CEC firmware version. because space is needed to store a large PATCH file to use SI4732-A10's SSB. This article only describes the features newly added in Version 0.5. Please check the links below for full features. How to modify your hardware Version 0.3HF (Most feature descriptions are provided) Version 0.41HF (Description of Band plan function and Dual RX function)