开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

WSJTX and GPIO on PTT


 

?
I am running WSJTX on a Raspberry Pi 4 with Bullseye 64-bit OS. Unfortunately, my GPIO 17 (the RTS line of ttyAMA0) is defective. I now want to control PTT with another GPIO pin. The transceiver does not have a CAT or other port. I have tried to do this with a script that listens to the PTT status in WSJTX, but it does not respond to pressing PTT. I have chosen Hamlib rigctld as the rig, and the CAT button turns green, so rigctld is communicating with WSJTX. How can WSJTX control a GPIO?


 

开云体育


Hello PA7RP,

I am running WSJTX on a Raspberry Pi 4 with Bullseye 64-bit OS. Unfortunately, my GPIO 17 (the RTS line of ttyAMA0) is defective. I now want to control PTT with another GPIO pin. The transceiver does not have a CAT or other port. I have tried to do this with a script that listens to the PTT status in WSJTX, but it does not respond to pressing PTT. I have chosen Hamlib rigctld as the rig, and the CAT button turns green, so rigctld is communicating with WSJTX. How can WSJTX control a GPIO?

I'll quickly mention a few things here:

?? 1. How are you interfacing devices to the Rpi's /dev/ttyAMA0 pins on the 40pin header?? These pins are only 3.3v compatible and sending higher voltages such as 5.0v or real RS232 signals of +- 12.0v will fry the Raspberry Pi I/O pin.? In addition to this, you should either use a basic transitor buffer circuit or a current limiting resistor when interfacing to the GPIO pins to not fry any of your GPIO pins.

?? 2. You can move the built-in UARY's RTS line to an alternative GPIO pin
? ? ?
???? "Handshaking lines:? You can have the RTS0 signal on GPIO 17 (P1-11) or GPIO 31 (P5-06) if you set them to ALT function 3. Likewise, the CTS0 is available on GPIO 30 (P5-05), if it is set to ALT function 3. You can control the settings of I/O pins with gpio_setfunc"

?? 3. You can have HamLib use any GPIO pin for PTT when using Rig ID #1:
????

--David
KI6ZHD


 

Hello David,
?
Thank you for your advice.
?
1. I fryed GPIO 17 when it accedentily got 5V ;-((
?
2. GPIO 31 is an internally GPIO pin and you cannot physically connect something to it. So that doesn't solve my problem
?
3. This should be the solution, but..... hamlib can address a GPIO , but wsjtx doesn't seem to accept that.? So chatgpt adviced me to write a script (running in the background) that monitors the PTT status in WSJTX and addresses the GPIO-pin (eg. GPIO 25) on tx or rx. I can't get it working ;-(?
I'm really stuck on this issue....pfff
?
73's de Ruud
?


 

开云体育

Hello Ruud,

1. I fryed GPIO 17 when it accedentily got 5V ;-((

Right.. that's what I was assuming but I wanted to call it out just in case you didn't know.


2. GPIO 31 is an internally GPIO pin and you cannot physically connect something to it. So that doesn't solve my problem

nono.. that's not true.? You don't seem to be aware of the Raspberry Pi alternative GPIO pin mappings:

??


3. This should be the solution, but..... hamlib can address a GPIO , but wsjtx doesn't seem to accept that.? So chatgpt adviced me to write a script (running in the background) that monitors the PTT status in WSJTX and addresses the GPIO-pin (eg. GPIO 25) on tx or rx. I can't get it working ;-(

From a WSJT-X perspective, you should just call out using Rig type #1.? The magic of using different GPIO pins for PTT is done when you start rigctld.? Research that in hamlib but it should work.

--David
KI6ZHD