talKKonnect – Frequently Asked Questions

talKKonnect – Frequently Asked Questions…

Q: I am an experimenter getting ready to build talKKonect trying to make up my mind – what board to use? Should it be Raspberry Pi model 2B, 3B, 3B+, 4B, 3A+, Zero or other boards?

A: Any Raspberry Pi model from 2 to 4 can be used, depending on the availability and budget. talKKonnect performs well on Raspberry Pi 3B+. Orange Pi boards will work well too and possibly any other ARM boards. talKKonnect can run on x86 or x86-64 PC’s. talKKonnect can also be built as a virtual machine.

Q: Can Raspberry Pi Zero board be used for building talKKonnect?

Raspberry Pi Zero

Orange Pi Zero

A: Conditionally yes, but you are on your own to make it work above Raspbian Jessie. There are reasons why Raspberry Pi Zero, presently, is not such a good pick. Here are some of the reasons why not to use Raspberry Pi Zero, but if you think you can successfully resolve the challenge, by all means give it a try.

1. talKKonnect and talkiepi are based on Gumble, excellent work of Tim Cooper who did a truly revolutionary work to create Mumble client for Golang. Gumble and talKKonnect use 48 kHz audio sampling. This is very demanding for a single core ARMv6 CPU in Raspberry Pi Zero resulting with a nearly 100 % CPU utilization. Talkiepi use 16 kHz audio sampling.

2. Why dont we use a lower audio sampling in talKKonnect to decrease the CPU load then, like in talkiepi? Well, there are some unresolved issues remaining between gumble/ talkiepi/ talKKonnect clients and Plumble, (Mumble Android client) and to a smaller extent official Mumble client and they are affecting the audio quality. This results with sound breaking up between gumble/ talkiepi/ talKKonnect and Plumble/ Mumble clients if a lower than 48 kHz audio sampling is used. Audio won’t be breaking up if all your clients are gumble/ talkiepi/ talKKonnect. You can set them for any other Opus audio sample rate (8/12/16/24/48 kHz) and the quality between them will be near perfect. But if you operate Plumble and official Mumble in your channel, then use 48 kHz sound on gumble/ talkiepi/ talKKonnect side.

If all your Mumble clients in the channel are going to be based on Gumble, use Raspberry Pi Zero if you absolutely must and adjust audio sampling to your preference. You can change audio sample rate to lower the CPU utilization, as it had been done in talkiepi. To do this adjust audio sample rate in gumble audio.go file.

/home/talkkonnect/gocode/src/github.com/talkkonnect/gumble/gumble/audio.go

But keep in mind, a lower audio sample rate will almost certainly result with audio breaking up when talking to Plumble and official Mumble clients.

3. There is also another problem to overcome if building talKKonnect on Raspberry Pi Zero is attempted.

Mumble depends on OpenAl library for positional audio. OpenAl packages in Linux are built with Neon support. OpenAl audio won’t work with Raspberry Pi Zero, where ARMv6 processor does not have support for Neon extension. As a result OpenAl needs to be compiled from source without Neon support. You will find a workaround, OpenAl package compiled without Neon support in Daniel Chote‘s talkiepi project, but they were created for Raspbian Jessie and might work on Raspbian Stretch and Buster. If you build talKKonnect on older Raspbian Jessie and use Daniel Chote‘s OpenAl packages without Neon, both talkiepi and talKKonnect will work on Raspberry Pi Zero. But keep in mind, 48 kHz audio sampling in talKKonnect on Raspberry Pi Zero results with nearly 100 % CPU on transmission, and if you use 16 kHz sampling rate (from talkiepi) you will have audio breaking up problems when talking to Plumble and Mumble. This problem is not  yet resolved. Until the problem can be resolved, avoid Raspberry Pi Zero builds and enjoy using talKKonnect with Raspberry Pi 3B and above or other boards that perform much better.

Q: Can talKKonnect work on Orange Pi Zero?

A: Yes. Orange Pi Zero is a good alternative to Raspberry Pi Zero, offering many advantages.

Anyone already familiar with Raspbian and Raspberry Pi boards should not assume working with Orange Pi is identical. Plan some time for building a learning curve with Orange Pi boards and familiarization with Armbian OS.

Q: I would like to use a smaller board like Raspberry Pi Zero or Orange Pi Zero to create a portable device operated from battery. Is this possible?

A: Powering single board computers from a battery is certainly possible, but shutting down the system controllably and battery management are additional problems that you need to resolve. First, you need to be able to power off Raspbian or Armbian OS in a controllable way with a button when needed. On Raspbian you can use gpio-shutdown or gpio-poweroff overlays and do not need additional software.

To power up the system by button, depending on a board, you may need to explore what method to apply. Connecting the power to the board will usually start the booting. If the device is turned off, then battery should be cut-off from the board to prevent discharge during storage. Usually mosfets are used for this. Then to ensure a reasonable life of a battery, you should never allow battery, especially Li-ion to go completely flat. You need to constantly monitor battery state of charge or voltage and ensure the Linux system can be powered down before battery can go flat or fall bellow some level. Otherwise the battery life will be greatly diminished. For doing this you need ADC (analog to digital conversion) for such measurement to take place. Raspberry Pi or Orange Pi‘s do not have ADC inputs. But Arduino has. So you are looking at Arduino coding and a program that can manage the battery. If the battery is discharged, the same battery management system needs to ensure a battery can receive enough charge first before the battery power can be reconnected back to the device. In essence, you are looking at creating a controllable UPS for your build. Decide how you then manage the power while charging the battery or using battery charger and main power? Do you bypass the battery to deliver power to a device directly during battery charging? Can your type of a battery be charged and discharged at the same time and how will that affect power availability and battery life? There are a lot of questions to consider in designing a reliable and efficient UPS for Raspberry Pi like boards. There are many commercial UPS boards for them and some are better than other.

It is certainly possible to operate talKKonnect builds from Li-ion battery with an UPS controlled by micro-controller, maybe an Arduino. Building an Arduino UPS for talKKonnect might become a separate project.

Q: Can I use talKKonnect in a car instead of a conventional radio?

A: Yes. You can add a 3G/4G modem or use your smart phone as a portable Wifi hotspot for delivering the Internet connectivity to talKKonnect device on the road. Add a DC/DC converter from 12V to 5V and power talKKonnect from a cigarette lighter adapter. But bear in mind cigarette lighter adapter voltage is usually controlled with an ignition key. In order to prevent uncontrollable shut down of talKKonnect (Linux), you need to add a shutdown button to the device and / or power it through some sort of a UPS. If your mobile network provider has a footprint in the area where you will be driving to, you can expect a similar user experience to using a conventional mobile radio, only over IP network, possibly with a much better coverage. There are other advantages in using talKKonnect compared to conventional radios.

Q: I heard talKKonnect can be used as Radio over IP gateway? How is this working?

A: Yes, talKKonnect can be used for creating a bridge between IP network and radio-network. You can link up two radio repeaters in a radio-network over the Internet. Or you can extend an existing radio-network to add more users with smart phones, tablets, PC’s, Raspberry Pi’s, thus creating a “hybrid” network consisted of conventional radios and IP devices. To turn talKKonnect into a radio gateway, you need a “donor” radio from the radio-network where you will be connecting to. You will need to connect and adjust audio input/ output between talKKonnect and donor radio. talKKonnect will provide an activation signal from Mumble channel for radio PTT to be triggered. Radio needs to provide COS/ COR (Carrier Operated Switch / Carrier Operated Relay) – busy signal from radio network for talKKonnect PTT control. You will have to create an interface from a few transistors, opto-couplers, relays or other electronic components to manage these signals. If you are an experimenter from a HAM radio community you will find this easy to do. Low cost Baofeng radios are easy to modify for gaining access to a COS signal. Many amateur radio operators have been building their own radios with NiceRF od Dorji radio boards lately where it’s easy to engineer a COS signal from a squelch pin. If you are looking to create a radio-gateway with commercial Motorola radios, analog, DMR, P25 or other commercial radios like Kenwood or ICOM, then you should explore options for getting a COS signal from them. Motorola base stations will usually have an “accessory” connector with microphone input, audio output, PTT pins and some of the additional pins are programmable through CPS (Customer Programming Software) for “high” or “low” level, on certain conditions. One of such pins should be programmed “high” when the radio channel is busy. Motorola portable radios do not have this option. You can try to use VOX (voice activation) in the radio or engineer your own VOX circuit, but it is difficult to ensure a proper operation of gateway every time with VOX. Use VOX only if you are absolutely not able to engineer a reliable COS signal in the first place.

Q: Can I use talKKonnect as a GPS tracker?

A: Yes. talKKonnect can work with Traccar server. talKKonnect acts as a Traccar client. You will need to build a Traccar server. talKKonnect can use low cost GPS / GNSS modules from Neo Switzerland, like Neo-6M, Neo-7M, Neo-M8, VK-172 or almost any other GPS module supported in Linux and working over UART.

GPS Reciever Ublox NEO-6M MOD35 - Faranux Electronics

Neo-6M

Neo-7M

Neo-M8

VK-172

Q: Do I need to use pull-up resistors for GPIO buttons?

A: Pull-up resistors are not needed for Raspberry Pi build. They are required for Orange Pi builds. Try something like this:

 

Q: I built talKKonnect on Raspberry Pi but my audio is noisy with a lot of hum. What can I do to fix this problem?

A: Check filtration in the power supply. Use shielded cable for audio connections.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *