I'm working on learning Morse code, and I'm looking for a way to use my computer as a practice oscillator with a double paddle key.

I'm using a Linux PC, but a Raspberry Pi solution would be cool to. I do have a USB Serial adapter.

  • $\begingroup$ Comments are not for extended discussion or partial answers; this conversation has been moved to chat. $\endgroup$
    – Kevin Reid AG6YO
    Commented Aug 31, 2017 at 17:07

3 Answers 3


This page appears to be what you're looking for. This technique uses the Linux LV2 plugin. You'll have to build an interface with a 555 timer chip.

SETUP: an UltraPico Keyer, keys a 555 TIMER CHIP..from the audio output of the 555, an audio cable is attached and goes to the input of a laptop's mic jack input...the 555 time chip sidetone is very rough sounding with lots of high pitched harmonics and key clicks...INSTEAD of trying to filter the 555's raspy tone, this video demo's using TRIGGER MIDI MONO to recreate the original 555 sidetone cw element and then a LINUX LV2 PLUGIN called TRIGGER MIDI MONO keys another CPO, a software code practice oscillator synthesizer called SIMPLE SINE GENERATOR(lv2 plugin)...this SIMPLE SINE GENERATOR has zero rise or fall time and therefore has loud key clicks...so those need to be filtered out....by another LINUX LV2 PLUGIN called CALF FILTER...calf filter does a great job of taking out all the harmonics and key clicks and produces a nicely shaped cw element audio waveform output

http://calf-studio-gear.org/ https://web.archive.org/web//http://nedko.arnaudov.name/soft/ssg/ http://lsp-plug.in/?page=manuals&section=trigger_midi_mono http://kxstudio.linuxaudio.org/

Previously, this CW REGENERATION technique was accomplished using WINDOWS VST PLUGINS, or a non free app called LINUX NATIVE REAPER. After discovering this TRIGGER MIDI MONO plugin for LINUX, this CW REGENERATION technique can now be utilized with ALL FREE LINUX APPS ...

NOTE: familiarity with KXstudio, and his LINUX JACK AUDIO APPS for Linux is necessary in order to understand fully, the method that is being demo'd...there are more videos in this QRQcw youtube channel to learn more about JACK AUDIO for LINUX/windows/mac and the Raspberry Pi....

NOTE: MIDI DATA MESSAGES, of NOTE ON and NOTE OFF are used to instruct (key) the software code practice sine wave oscillator APP called SIMPLE SINE GENERATOR. (there are other LINUX audio plugins that would also work like AMsynth) -https://github.com/amsynth/amsynth

MIDI DATA MESSAGES - WHAT IS MIDI ? http://www.instructables.com/id/What-is-MIDI/

The YouTube video is here.


Here is a solution that has been tested and works on Ubuntu 14.04 LTS.

The software used is called Didadah. [PDF info]

The paddles connect via a standard FTDI-based USB-A Male to DB9-Male Adapter cable.

enter image description here

enter image description here

(Note that this shows how the Paddles are wired to a DB9-F which plugs into the DB9-M on the Serial-to-USB Adapter cable)

For reference, the traditional pin assignments for DB-9 serial is shown here.

This article explains the setup procedure:

Hook up your cw paddles, key and bug to your Linux computer (Ubuntu 14.04)


This video demonstrates a method to hook up your cw paddles, key and bug to your Linux computer.

Dahdidah is the application chosen to perform the software cw keyer functions.

A USB TO SERIAL PORT ADAPTER is used to interface the morse code instruments directly to the serial port pins to "key" Dahdidah.

Jack Audio is the Linux sound engine used, with KXSTUDIO's CARLA and CADENCE.

Dahdidah uses the serial port to "key" its CODE PRACTICE OSCILLATOR sound system.

Dahdidah will use the WINEASIO - ASIO DRIVER - for the best audio production with near zero latency.


  1. DOWNLOAD Dahdidah



  4. DOWNLOAD KXstudio's CARLA-GIT et al,

  5. DOWNLOAD KXstudio's META-WINE package


  7. important: REGISTER WINEASIO

  8. get your USB TO SERIAL PORT adapter working and ready to go on boot up

  9. link your new ttyUSB0 SERIAL PORT ADAPTER to WINE

  10. DAHDIDAH PDF MANUAL: http://qsonet.com/doc/dahdidah.pdf


  • 1
    $\begingroup$ Good job finding this information, but you neglected to add how to find the software. It turns out that Dahdidah is part of QsoNet, which is software to create a "virtual ionosphere", that is a network of simulated radios on the internet. The software is free to try for 30 days, and then costs money. $\endgroup$
    – rclocher3
    Commented Aug 29, 2017 at 22:47
  • $\begingroup$ @rclocher3, the download link is in the original article. This post contains excerpts. as stated. It is well worth watching the video if you are going to replicate this installation. Also, there is other software that works for linux which you can find by exercising some Google Fu. If you find something better then you are free to post your own answer here. $\endgroup$
    – SDsolar
    Commented Aug 30, 2017 at 0:09
  • $\begingroup$ FYI, I installed this software and it works fine, with no restrictions,. both on Windows and Linux. Since I don't have my Bencher anymore (but already had a TTL-to-USB converter) I used an Arduino Uno to build the 5-minute iambic paddle - Here is the link for that one: hackaday.com/2011/12/05/an-iambic-keyer-in-5-minutes - with relays for the output. Fed it into my Ubuntu 16.04 LTS machine. First time I have done anything with WINE. It works fine. Fun for an afternoon's work. $\endgroup$
    – SDsolar
    Commented Aug 30, 2017 at 5:35

I was also looking for a "pure" GNU/Linux solution to have (straight) morse keys generate sidetones, but unfortunately I gave up and I'm now using a Windows software which I installed with Wine on Ubuntu 19.04:


If you already have a serial-to-USB adapter with FTDI chip plus a DB9-to-audio cable (like SDsolar mentioned them) to connect your key to a PC, you're fine. If I connect the FTDI adapter to my PC's USB, a device /dev/ttyUSB0 shows up.

In my case, Wine provides several symbolic links $HOME/.wine/dosdevices/com* pointing to the serial devices /dev/ttyS*, and once I plug the adapter in, a symbolic link com33 is created which points to /dev/ttyUSB0. I always rename that link to com1 to be able to use it in the emulated environment. Since Wine sometimes renames it back, there seems to be a configuration option in Wine for these links: (source)

To override Wine's default device mapping, run wine regedit and create string entries in HKEY_LOCAL_MACHINE\Software\Wine\Ports where the entry name is the Windows device name and the entry value is the path to the Unix device. Continuing with the above example, to make COM1 the first USB-attached serial port, create an entry with the name COM1 and the value /dev/ttyUSB0. [...] After editing the registry, shut down Wine with wineserver -k and the next time Wine runs a program, your changes will take effect.

Practice software

The actual CW practicing software I use then is CW Communicator or CWCom. This is an old and disappearing client to connect to an Ionosphere network to communicate in CW over the internet. However, it doesn't require network for practicing alone. In addition, it has a very good Morse decoder built in. You can find an archived download link or can also directly download from here. This second link is provided by the Austrian CW society, OECWG, who still use this software for teaching.

Once you launch the program, you should see a black rectangle in the upper left corner of the main window. If you click on it, you should be able to hear a sidetone while holding the mouse button down. You can configure its frequency in the settings. To trigger sidetones with your key, open the configuration window and go to tab "Morse Key". Change the "COM Port" number to the one that points to your USB device, and then switch the "Morse Input" radio button to "COM Port". If it stays selected, try triggering your key. You should hear a sidetone. The decoder and the statistics window will help you making your Morse characters right.

  • $\begingroup$ Again with the Windows solutions and "run it under WINE". How well would that run on the Raspberry Pi, for example? There have already been many answers suggesting Windows software under WINE, all with comments that these are not what was asked for. There was even a (now-deleted) answer recommending CWCom. $\endgroup$
    – Scott Earle
    Commented Jul 19, 2019 at 1:31
  • $\begingroup$ Thanks Scott for claring things up. I saw the Raspberry Pi requirement just as a nice-to-have. I wanted to share my solution, as it was more simple for me than the two other answers listed here, and I haven't found an alternative. If things got deleted, I can't be aware of them. $\endgroup$
    – paux
    Commented Jul 19, 2019 at 7:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .