Preserving the "CW Fist" for Remote CW Operations

When using a straight key, bug or "cootie", the ability to transmit morse code over the air using your actual "CW fist" is important - its your your signature. It’s the subtle weighting, the rhythm, and the human "swing" that makes your CW unique. When moving to a Software Defined Radio (SDR) like the FlexRadio 6600, a common concern is: Will the the radio preserve my fist when using a straight key to operate remotely?"

The short answer is YES, at least for the FlexRadio platform.   Here is how the Flex ecosystem ensures your individual style reaches the other end of the wire exactly as you intended.  Its like a very long digital extension cord plugged into the Key input on your remote rig.

The Secret Sauce: Precision Timestamping

Most remote setups send "Key Down" and "Key Up" commands as generic network packets. If a packet is delayed by 20ms due to internet jitter, your "dah" suddenly becomes a "dit," and your fist sounds staccato.

FlexRadio avoids this using Local Timestamping:

  • At the Source: When you plug your key into a Maestro or a PC running SmartSDR, the hardware captures your contact closures with microsecond precision.

  • The Packet: Instead of just saying "Key is Down," the Maestro sends a data packet that says, "The operator closed the key at exactly X time and released it at exactly Y time."

  • At the Radio: The 6600’s FPGA receives these timestamps and reconstructs the RF envelope. It doesn't care if the packet arrived a few milliseconds late; it knows exactly when the pulse was supposed to start and stop.


Crucial Settings for the Modern Straight Key Operator

In current firmware versions (like v4.x), the radio handles the technical "shaping" automatically to ensure a clean, click-free signal. To make sure your unique rhythm remains the priority, focus on these specific configurations:

  • Keyer Mode: Straight: (Menu > CW Tab). Set this to Straight. This tells the 6600 to act as a simple switch, allowing your "fist" to provide 100% of the timing.

  • Sidetone Source: Local: (Maestro Menu > CW Tab). Always use Local sidetone when remote. This eliminates the "network echo" that can disrupt your hand-to-ear rhythm. You hear yourself instantly, regardless of the ping to the radio.

  • Break-In Delay: (Menu > Transmit Tab). For a "Cootie" or fast straight key, a setting of 200–300ms keeps the relays from chattering, while 0ms gives you full QSK if your network latency is low enough.


Future Experiements- Visualizing "Fist Integrity" with GO

While modern SDRs do an incredible job of timing reconstruction, I’m planning a future experiment to visualize exactly how different network conditions impact the final RF envelope. I’m designing a Go-based software architecture to monitor this in real-time.


The Methodology: The Audio Feedback Loop

The goal is to compare the Intent (the moment I hit the key) with the Result (the moment the radio actually transmits).

The Architecture:

  • Input Capture: A Go routine monitors the local hardware interrupts or API status of the keyer. This serves as our "Control" signal.

  • Return Stream: A second routine taps into the DAX (Digital Audio Exchange) sidetone stream returning from the remote 6600.

  • Analysis: Using a peak-detection algorithm, the software identifies the start and end of every CW element in the returning audio, converting the 600Hz tone back into digital "on/off" pulses.

Visualization: The Dual-Trace Logical View

The experiment will produce a real-time, scrolling visualization—similar to a logic analyzer—that allows me to see the "Health" of my fist over the internet.

  • Trace A (Local Intent): A perfect digital representation of the straight key contacts.

  • Trace B (Remote Reality): The "reconstructed" pulses from the remote sidetone audio.

Expected Results & Analysis

By analyzing the relationship between these two traces, the experiment will yield three critical metrics:

  1. Total Round-Trip Latency: The horizontal "lag" between Trace A and Trace B. This tells me exactly how long it takes for my hand's movement to travel to the radio and come back as audio.

  2. Weighting Distortion: By comparing the width of a dot on Trace A vs. Trace B, I can see if the network is "stretching" or "shrinking" my characters. If a 60ms dot comes back as 55ms, I am losing 5ms of weighting to jitter.

  3. Jitter Visualization: If the horizontal gap between the traces stays constant, the rhythm is preserved. If the gap "bounces," it indicates network instability that will make my code sound uneven to the receiving operator.

Conclusion

The FlexRadio 6600 isn't just a radio; it’s a precision timing instrument. By leveraging a Go-based architecture to monitor these streams, we can move beyond "guessing" how our signal sounds and start measuring the human element of CW in the digital age.



Credit:  https://hackaday.com/2014/11/12/transmitting-data-long-distance-with-morse-code/


Comments

Popular posts from this blog

Hamclock 4.10 Up and Running WSL

Field Day 2025 Results

EdgeOS SQM Smart Queue Management Configuration