UPDATE (5/12/2024): Turns out my little DIY project below is not so novel. Check out OZ1JHM’s website to see their solution which is basically the same solution as mine, but posted long ago!

I recently came across VBand, CW Hotline, and the USB Paddle Interface sold by Ham Radio Solutions based on a recommendation from a fellow ham in my work radio club. This looks to be an awesome option for practicing CW with other people when band conditions or practical limitations make that difficult. While the CW Hotline and USB Paddle Interface they sell both seem to be great solutions at a fair price, I got to thinking on whether I could put together a quick and easy solution from parts on hand.

Parts list for this one is quite simple:

Simply solder some wire from pins 2 and 3 to of the stereo connector and ground, download the code I wrote from GitHub, install on your Arduino, plug in your paddles, visit VBand’s website, and go! If you wire things backwards, just swap the pin definition in the Arduino code to make it fix it.

The code is very simple and based on the Arduino “Keyboard” functions that allows the Arduino to send commands to the PC emulating a standard keyboard. Since VBand uses “[” and “]” keys as dah and dit inputs, the Arduino code looks for a button press on two different pins and sends the applicable key press to the computer. No special software is required on the PC! All keyer settings are on the VBand website itself. Note that I am typically only using this at 15-17wpm, and everything seems to work fine. I am not very experienced with the Keyboard library, so I’m not sure if things would get wonky at much higher speeds; let me know if you have any issues!

Again, I am fully supportive of VBand’s products and suggest buying their complete interface solution over the parts to make one as it also helps keep their website online and is very fairly priced. I had the parts laying around, so it was a fun exercise to give myself a new way of practicing my CW.