CW Zoomer

Want a copy of this page in PDF format. If so, click here.

The CW Zoomer is a device that is primarily intended as a serve as an aid for students learning International Morse Code via intermittent tone transmission.  CW stands for continuous wave (radio transmissions) used to convey information via Morse Code. Those Morse code transmissions might be better described as ICW (intermittent continuous wave) because Morse code transmissions are inherently intermittent, due to their on/off coding. I will use the terms CW and “tone Morse code” interchangeably.

The Zoomer is intended to be used with a personal computer that is participating in a Zoom conference call, typically a call focusing on CW training. The Zoomer was inspired by a paper by Jeff, WB4JM, titled “Using an Outboard Audio Mixer with Zoom for a CW Class”. Jeff’s paper is available from the Long Island CW’s website at

Below is an excerpt (used with permission) from Jeff’s paper that explains why special equipment can help when communicating through Zoom using tone Morse code :

Zoom and audio can be a challenge at times as it seems to do what it wants without asking us. In fact, it may force you use it a certain way concerning audio so as to suppress feedback and echo. Zoom also does not like the tone of a CW generator. You could say it is anti Morse Code, what a shame. What happens is this: You are using a camera with a built-in microphone and you are using speakers to hear the far end instructor. What prevents the far end’s audio coming out of your speakers from getting back into your microphone and sending it back to the far end when your mic is not muted? See the problem; a feedback loop develops and you probably have heard the echo. So, Zoom, in all its wisdom, employs feedback suppression and echo cancellation to reduce this feedback but sometimes it thinks the CW tone is feedback too and it tries to suppress it. You will notice this from other’s audio as the tone sounds low in volume and does not sound normal; wishy washy. At each of the below three mixer scenarios we will adjust the Zoom settings so as to allow better sounding audio. But beware, if you make these settings, essentially turning off the feedback suppression and echo cancellation while still using your cameras mic and speaker, you will most certainly cause feedback.

The primary function of the CW Zoomer is to remove acoustic CW tone sounds from a room where there is an open microphone. It assumes that each Zoom participant wears a headset so that the received CW tone sounds are contained within the headset’s earmuffs and do not reach the headset microphone, thus interrupting that acoustical feedback path. For convenience the Zoomer also includes an electronic iambic keyer, as well as jacking for a second headset (a “buddy headset”).

The audio path block diagram for the Zoomer is shown in Figure 1 below.

Figure 1 – CW Zoomer Audio Path Diagram

The electronic keyer that’s included with the Zoomer provides several features of interest to those learning International Morse Code.  First, it provides for Iambic Mode-A, Iambic Mode-B, Mode-C and Mode-D.  Mode-C (my term) is an electronic keyer that is non-iambic.  In Mode-C, once a paddle contact is closed the other paddle contact is ignored until the first contact is open and the trailing spacing element has completed.  Mode-D (my term) is best described as “Bug Mode”, in that the left paddle produces dots and the right paddle functions as a straight key.  Left handed paddle operation for all of the modes above is accommodated via a user controlled configuration change. And there is a conventional straight key input for either a straight key or real mechanical bug (without any electronic timing assistance, other than switch-bounce suppression).

The output of the keyer consists of an audio tone that is generated by the Digital to Analog Converter (DAC) internal to the microcontroller, that creates a 16 point sine wave output.  Additionally, the rise and fall of the tone envelope is well controlled so that is minimizes key-clicks.  The tone frequency can be adjusted via the UP and DN buttons in 20 Hz increments, to give your CW note some personality.

With that as background, let’s now look at the Zoomer hardware. Below is an annotated photo that shows the main points of the Zoomer.

Figure 2.  Photo of the CW Zoomer – Rev 1 Board

The Zoomer is an open-board (no enclosure at this time) device that’s about 3.9 x 3.9 inches (99 x 99 mm).  The ports and controls are as marked in Figure 2 above. 

Figure 3 – Schematic of CW Zoomer Rev 1 – Click schematic image above for a PDF

MCU Options

The schematic calls for the MCU to be an AVR128DB28. However I often build the Zoomer and similar projects using the AVR64DD28 because they cost less and are more readily available.

PCB Gerber Files

Below are links to the Gerber files for the PCB in zip format. With the Gerbers you can send the zip file to your favorite board house and get PCBs back in the mail.

Rev-1 is a fully functioning board, but I will be adding a few items to the Rev-2 board. I don’t expect the Rev-2 Gerbers to be ready for release until I have built and tested a prototype, probably sometime around the end of 2023.

Link to CW Zoomer Rev-1 PCB Gerber ZIP File

Some Interesting Aspects of the CW Zoomer

The Zoomer provides for two headsets, an operator headset and a buddy headset. For development I’ve been using two SENZER SG500 headsets ($24 on Amazon) but it should work with any gaming headset with a four contact (TRRS) 3.5mm plug. The value of 470 ohm resistors in series with each headset earphone results in the earphones having a comfortable listen level when the speaker (when used) provides a comfortable listening level*. The two headset electret microphones are simply connected in parallel. Adding the second microphone in parallel with the first seems to reduce the audio level from the first mic by less than 1 dB.

The USB jack is simply a means to provide power to the Zoomer. The CH340 USB to Serial IC is only installed if users want a convenient way to reprogram the microcontroller (keyer) or if they want a way to send CW from a PC’s USB port, perhaps running a program such as FLDIGI.

One can buy all the parts needed from distribution, but that would be expensive.  If a club or benevolent company were to kit the project, using least cost sourcing, a kit consisting of a bare PCB and all the components that mount on the board should come in at less than $15  The board can be assembled and tested in about 2 hours. 

Programming the AVR Microcontroller

The firmware for the Zoomer is Open-Source and was developed using the Arduino IDE with the board manager including Spence Konde’s DX Core (which supports the AVRxxDx28 Microcontrollers).

There are several options for programming the microcontroller. First, the Zoomer board’s microcontroller is usually programmed with the Optiboot bootloader, so that the new firmware can be loaded into the microcontroller by means of simple serial download from the Arduino IDE; the same way you would download code into an Arduino Uno or Nano. Additionally, the serial port on the Zoomer can be configured to function as a UPDI programmer. Finally, a typical UPDI programming port is also provided for programming using Microchip programmers such as the SNAP. And it’s also possible to make your own simple UPDI programmer using a common USB-Serial interface board and adding a 4.7K resistor and Schottky diode to turn the full-duplex serial interface into a half-duplex single-wire interface, to match that of UPDI (link to examples of that here).



* Use of the speaker requires that headset microphones are muted. The whole point of the Zoomer is to break the acoustic feedback path from speaker to microphone. If you use a speaker and your microphone is unmuted, you have defeated the primary purpose of the CW Zoomer.