[{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/blog/","section":"Blog","summary":"","title":"Blog","type":"blog"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/categories/cw--operating-skills/","section":"Categories","summary":"","title":"CW \u0026 Operating Skills","type":"categories"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/tags/cw-tools/","section":"Tags","summary":"","title":"CW Tools","type":"tags"},{"content":"Level up your ham shack with tech. HamShackTech is about bringing the ham shack into the modern era—where radios, computers, automation, and smart workflows all work together. This isn’t a gadget blog; it’s a practical guide to building a station that’s more capable, more flexible, and more fun to operate. From smarter station control to remote operation to integrating digital tools into everyday operating, HamShackTech shows how thoughtful technology can elevate the way you work the air.\nStart with Guides for step-by-step tutorials, browse Reviews of gear and software, or check the Blog for project logs and everything else.\n","date":"29 September 2026","externalUrl":null,"permalink":"/","section":"HamShackTech","summary":"Level up your ham shack with tech. HamShackTech is about bringing the ham shack into the modern era—where radios, computers, automation, and smart workflows all work together. This isn’t a gadget blog; it’s a practical guide to building a station that’s more capable, more flexible, and more fun to operate. From smarter station control to remote operation to integrating digital tools into everyday operating, HamShackTech shows how thoughtful technology can elevate the way you work the air.\n","title":"HamShackTech","type":"page"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/tags/morse-code/","section":"Tags","summary":"","title":"Morse Code","type":"tags"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/tags/morse-code-jeopardy/","section":"Tags","summary":"","title":"Morse Code Jeopardy","type":"tags"},{"content":" Update, October 2026: Morse Code Jeopardy is now played online inside the CW Trainer, and Zoom is no longer needed. Everyone joins a room from their own device, hears each clue at their own speed, answers with their own key and chats in the game. You can also host a game and play on your own. The screen-share version described below has been retired. If you practice CW with a group on Zoom, you\u0026rsquo;ve been here. The canned QSO: name, QTH, rig, antenna, weather, 73. Then \u0026ldquo;tell us what you\u0026rsquo;re having for dinner.\u0026rdquo; Then \u0026ldquo;send us your favorite car ever.\u0026rdquo; And on and on it goes. None of these are bad exercises. The problem is that we\u0026rsquo;ve all done every one of them before, many, many times, and it shows.\nThen comes the moment every group knows too well. The host unmutes and asks, \u0026ldquo;So\u0026hellip; what should we practice?\u0026rdquo;\nSilence. A dozen video squares, and not one idea among them.\nAfter enough of those silences, I decided our sessions needed something new. So I built a fun tool for our Zoom practice: Morse Code Jeopardy, a free, browser-based game show for CW groups on Zoom. It\u0026rsquo;s now live on the CW Tools page.\nHow a round works # The board looks just like the TV show: six categories across the top, five tiles in each column from $200 to $1,000. The twist is that each row is a different speed. The $200 tiles play at 6 WPM, and they climb from there through 9, 12 and 16 WPM, all the way to 20 WPM for the $1,000 tiles.\nA player calls out a category and a dollar amount, just like on TV. The host clicks the tile. After a three-second \u0026ldquo;stand by\u0026rdquo; countdown, the hidden answer plays in Morse. If the group copies it, the host clicks Got it and the tile\u0026rsquo;s full value goes into the Group Score. If the group can\u0026rsquo;t copy it, the host clicks Play Slower. It replays at about 70% speed, and then 50% if needed. Each replay is still worth something: half the tile\u0026rsquo;s value on the second play and a quarter on the third. Still stumped? Reveal shows the answer, and clicking a revealed tile plays it again so everyone can hear what they missed. The categories are Numbers, Callsigns, Names, QTHs, Q-Signals and Ham Talk. They\u0026rsquo;re full of the things you\u0026rsquo;ll actually hear on the air: RST reports, POTA references, grid squares, real-world callsign formats, and a few answers that are there just to get a laugh when the group finally copies them. (\u0026ldquo;QRP 1500 WATTS\u0026rdquo; comes to mind.) Yes, that\u0026rsquo;s my own call on the board in the screenshot. It\u0026rsquo;s in the Callsigns list, so you might get to copy me too.\nThe Daily Double: your turn on the key # Every column hides one Daily Double. When a player finds one, the roles flip: that player has to think of an answer that fits the category and send it live on their own key while the rest of the group copies. The tile is scored like any other. It\u0026rsquo;s worth full value if the group gets it on the first send, and less if the sender has to repeat it.\nThis turned out to be my favorite part. Receiving is only half of CW, and a low-pressure moment of sending to friends is great practice for the half that happens when you\u0026rsquo;re the one on the key.\nNobody loses # This is the design decision I care about most: there are no individual scores. The whole group builds one shared Group Score together.\nOur study group runs from brand-new beginners to folks copying comfortably at 20 WPM. The moment you put individual scores on a board, the faster copiers win every round, and the people who most need the practice start to dread it. With one shared score, a beginner who nails a $200 tile at 6 WPM is putting real points on the board for the team. The 20 WPM tiles are still there for anyone who wants a stretch, but nobody is being ranked.\nA little science: why 6 WPM still sounds like real CW # The game uses Farnsworth timing. Every character is sent at a crisp 25 WPM character speed (adjustable), so an \u0026ldquo;R\u0026rdquo; always sounds like an R does on the air. The slower tile speeds come from stretching the gaps between characters and words, not from slowing the characters themselves.\nIt matters because your ear learns each character as a single sound pattern, a rhythm, and not as a string of dits and dahs to count. Slow the characters way down and they turn into something to count. Keep them at speed and add breathing room between them, and you\u0026rsquo;re training your ear on the same sound you\u0026rsquo;ll hear in a real QSO. That\u0026rsquo;s the approach programs like CW Academy use for the same reason.\nHosting it on Zoom # The game is built to be run by one host and screen-shared to the group, so it\u0026rsquo;s designed for a desktop or laptop browser, not a phone. To host:\nOpen Morse Code Jeopardy in a browser window. In Zoom, click Share Screen and pick just that browser window. Turn on Share Sound before you click Share. If you skip this step, nobody else will hear the code. Ask me how I know. Adjust the character speed, tone, volume and the five tile speeds if you like, then click Let\u0026rsquo;s Play. When the board is cleared, the game shows your final Group Score. Screenshot it and brag to your group.\nGive it a try # Morse Code Jeopardy is free, runs in your browser with nothing to install, and sits alongside the CW ICR Trainer and CW Code Groups Trainer on the CW Tools page. Take it to your next Zoom practice session and see what happens to the energy on the call.\nIf your group plays it, I\u0026rsquo;d love to hear how it went, and I\u0026rsquo;d especially like to hear which answers had everyone stumped. Drop me a line.\n73, Tim, N6WAX\n","date":"29 September 2026","externalUrl":null,"permalink":"/blog/morse-code-jeopardy/","section":"Blog","summary":"The canned QSO, what’s for dinner, your favorite car ever — we’ve all sent them a hundred times. Morse Code Jeopardy turns your group’s Zoom session into a game show where everybody plays on the same team.","title":"Same Drill, Same Blank Stares: Bringing Game-Show Energy to Zoom CW Practice","type":"blog"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"29 September 2026","externalUrl":null,"permalink":"/tags/zoom/","section":"Tags","summary":"","title":"Zoom","type":"tags"},{"content":"","date":"31 August 2026","externalUrl":null,"permalink":"/tags/cw/","section":"Tags","summary":"","title":"CW","type":"tags"},{"content":"","date":"31 August 2026","externalUrl":null,"permalink":"/tags/file-player/","section":"Tags","summary":"","title":"File Player","type":"tags"},{"content":"","date":"31 August 2026","externalUrl":null,"permalink":"/guides/","section":"Guides","summary":"","title":"Guides","type":"guides"},{"content":"","date":"31 August 2026","externalUrl":null,"permalink":"/tags/morserino-32/","section":"Tags","summary":"","title":"Morserino-32","type":"tags"},{"content":"One of the most useful features of the Morserino-32 — and one a lot of owners never discover — is the ability to upload your own custom practice files. Instead of settling for generic canned drills, you can build a file around exactly what you need to work on: a list of the characters still tripping you up, a canned QSO to rehearse before you get on the air, a list of the words you hear most often on the air, or anything else worth copying.\nGetting a file onto the device used to mean joining a WiFi hotspot the Morserino broadcasts. Current firmware replaces that with a browser tool over USB, which is faster and doesn\u0026rsquo;t require juggling WiFi networks. Here\u0026rsquo;s the current process.\nWhat you\u0026rsquo;ll need # A Morserino-32 (classic or Pocket) on reasonably current firmware A USB data cable — many cables that came with phone chargers are charge-only and won\u0026rsquo;t carry data, which is the single most common reason this doesn\u0026rsquo;t work on the first try Chrome, Edge, or Firefox — the tool talks to the Morserino directly from the browser tab over a USB serial connection; Safari doesn\u0026rsquo;t support this A plain text (.txt) file with the content you want to send What the file itself needs to look like # The File Player expects plain ASCII text, with no formatting — save from a plain text editor (like Notepad on the PC or TextEdit on the Mac), not Word or Pages. A few things worth knowing about how it reads that text:\nProsigns (the run-together characters like SK or KN) are written as two letters inside brackets or after a backslash — \u0026lt;sk\u0026gt;, [ka], or \\kn all work. Supported prosigns are ar, bt, as, ka, kn, sk, ve, and bk. Anything the Morserino can\u0026rsquo;t turn into Morse — most punctuation beyond the basics, emoji, stray control characters — is just skipped rather than causing an error. The Morserino has a bit under 1 MB of storage for the player file — plenty for a lengthy article, though not a whole novel. Currently only one file can reside on the Morserino-32, so whenever you upload a new file, the old one is overwritten. Splitting one file into chapters # Since only one file can live on the Morserino at a time, it\u0026rsquo;s worth knowing you don\u0026rsquo;t have to choose between, say, your weak-character drills, a canned QSO, and a word list — you can keep all three in the same upload, as separate labeled chapters.\nA chapter marker (the manual calls it a part separator) is a special kind of comment: a line starting with the comment indicator \u0026lt;c\u0026gt;, immediately followed by a dollar sign and a short name for the section that starts there. For example:\n\u0026lt;c\u0026gt;$ My Difficult Characters Give each section of your file its own marker — \u0026lt;c\u0026gt;$ My Difficult Characters, then further down \u0026lt;c\u0026gt;$ Common Words, then \u0026lt;c\u0026gt;$ QSO Practice — and upload it as one player.txt instead of juggling separate files you\u0026rsquo;d otherwise have to keep re-uploading over each other. The M32 Configuration Tool\u0026rsquo;s File Builder tab is built around exactly this, letting you assemble several pieces of text into one multi-chapter upload.\nAdding pauses and tone changes # The file format also gives you two ways to shape how the text sounds as it plays, which is especially handy for a canned QSO:\nPauses. Insert \u0026lt;p\u0026gt;, [p], or \\p as its own word (with a space before and after) to add a pause of three word-spaces — useful for a beat between phrases, or between one station\u0026rsquo;s transmission and the other\u0026rsquo;s. Stack several in a row (\\p \\p \\p) for a longer pause. Keep the marker separated from the surrounding text with spaces — run it right up against a word, like cq\u0026lt;p\u0026gt;, and the whole thing gets swallowed into the pause instead of being sent. Tone changes. Insert \u0026lt;t\u0026gt;, [t], or \\t the same way — its own word, spaced on both sides — to shift the sidetone pitch from that point on; the next \u0026lt;t\u0026gt; marker shifts it back. That\u0026rsquo;s useful for telling two stations apart in a QSO script (it won\u0026rsquo;t do anything if your Tone Shift preference is set to No Tone Shift). The same spacing rule applies: run it into a word, like cq\u0026lt;t\u0026gt;, and the marker consumes the rest of that word instead of just marking a tone change. An example file # Here\u0026rsquo;s a short player.txt that puts all of the above to work — four labeled chapters covering a difficult-letters drill, three-letter combinations with pauses between them, a canned SOTA (Summits On The Air) QSO using pause and tone markers to tell the two stations apart, and a run of US state abbreviations:\nplayer.txt \u0026lt;c\u0026gt;$ Difficult Letters P P P P P Y Y Y Y Y X X X X X \u0026lt;c\u0026gt;$ Three Letter Combos XXJ \\p\\ VYR \\p\\ QWP \\p\\ QZK \\p\\ MCB \\p\\ \u0026lt;c\u0026gt;$ SOTA QSO CQ CQ SOTA DE N6WAX/P N6WAX/P \u0026lt;K\u0026gt; \\p\\ \\t AB1DEF \\p\\ \\t AB1DEF GM RON UR 579 579 CA \u0026lt;BK\u0026gt; \\p\\ \\t R TU TIM UR 559 559 CA CA GL 73 \u0026lt;BK\u0026gt; \\p\\ \\t R R TU 73 de N6WAX/P QRZ? \u0026lt;c\u0026gt;$ States WY WY WY WY WY NJ NJ NJ NJ NJ TX TX TX TX TX Swap in your own callsign, weak characters, and QSO text, and you\u0026rsquo;ve got a custom practice session built exactly around what you need to work on.\nUploading the file # Connect the Morserino to your computer with the USB cable. In your browser, open the M32 Configuration Tool. Click Connect. Your Morserino should show up in the browser\u0026rsquo;s port picker as something like \u0026ldquo;USB JTAG/serial debug unit (COM4) - Paired\u0026rdquo; — select it and confirm. (Your COM port number may well be different.) If nothing shows up, see Troubleshooting below. Click the Files tab. Choose CW Player text as the upload target — this is what tells the tool to save your file to the right place on the Morserino (internally, /player.txt). Click the Choose File button near the bottom of the window and pick your .txt file. Click Upload. That\u0026rsquo;s it — the file is now on the Morserino, ready for the File Player to read.\nPlaying it back # On the Morserino itself:\nEnter the CW Generator mode from the main menu. Select File Player as the source (rotate the encoder knob to cycle through the generator\u0026rsquo;s sources, the same way you\u0026rsquo;d pick Callsigns or Abbreviations). Start it with a quick tap of the paddle, or by pressing the encoder knob straight down. You\u0026rsquo;ll hear an alert (VVV \u0026lt;KA\u0026gt;) before the text itself begins. Copy along as it plays. A single click on the encoder knob toggles what turning it controls — keyer speed or volume — same as everywhere else in the Morserino\u0026rsquo;s menus. Stop the same way you started: a quick paddle tap or a press of the encoder knob. The File Player remembers your place. Stop partway through a long file, and the next time you start it, it picks up right where you left off — handy for working through something over several practice sessions. When it reaches the end, it loops back to the beginning rather than stopping.\nIf the browser tool doesn\u0026rsquo;t see your Morserino # Try a different USB cable. This fixes it more often than anything else on this list. Confirm you\u0026rsquo;re in Chrome, Edge, or Firefox, not Safari. Check the port shows up at the OS level. ESP32-based boards like the Morserino talk over USB through a small serial-bridge chip (commonly a CP2102 or CH340 family part), and on Windows that occasionally needs its own driver before the port appears at all. If the browser\u0026rsquo;s connect dialog comes up empty, check Windows Device Manager for an unrecognized device or one flagged with a driver warning, and install the matching driver. Close other programs that might be holding the serial port open — only one application can talk to it at a time, and a leftover terminal or logging tool can block the browser from connecting. Update firmware if the page won\u0026rsquo;t connect at all. The USB File Manager needs a reasonably current firmware version, so a much older Morserino may need a firmware update before it\u0026rsquo;ll show up here. Links # Morserino-32 Product Page Order Page Documentation and User Manual on GitHub ","date":"31 August 2026","externalUrl":null,"permalink":"/guides/morserino-file-player-upload/","section":"Guides","summary":"How to load your own text into the Morserino-32’s File Player, using the M32 Configuration Tool over USB.","title":"Uploading Custom Files to the Morserino-32 File Player","type":"guides"},{"content":"","date":"28 August 2026","externalUrl":null,"permalink":"/tags/cw-academy/","section":"Tags","summary":"","title":"CW Academy","type":"tags"},{"content":" What is it, and why use it? # VBand is a free, browser-based \u0026ldquo;virtual CW band\u0026rdquo; from Ham Radio Solutions. Plug a key or paddle into your computer, open the site, join a channel, and you\u0026rsquo;re sending and receiving Morse code with whoever else is in that channel — no radio, no antenna, no license, and no band conditions to fight.\nThat last part is the real reason VBand earns a spot in your CW toolkit. In a perfect world, at the peak of the solar cycle, every CW student would just get on the air and practice with real stations. There\u0026rsquo;s genuinely no substitute for an on-air QSO — nothing teaches you to copy code through noise, fading, and a station with a slightly sloppy fist like the genuine article does. But solar cycles rise and fall, band conditions aren\u0026rsquo;t always cooperative, and if you\u0026rsquo;re going through a CW class like CW Academy, your classmates are scattered all over the continent (or beyond), not conveniently down the block. VBand solves the scheduling and propagation problem: everyone just needs a browser and an internet connection, and suddenly a study group in four time zones can meet up for a QSO on demand.\nIt\u0026rsquo;s also just a lower-stakes place to practice than jumping straight onto HF. If you send a shaky \u0026ldquo;CQ\u0026rdquo; on 40 meters, the whole band hears it. If you fumble a QSO with a classmate on a private VBand channel, nobody but the two of you ever knows.\nWhat equipment do you need? # VBand runs in the browser, so the software side is simple: it works on Windows, Mac, and Linux, and the official USB paddle interface itself has been tested on Windows, Mac OS, Linux, and Android. Chrome is the best-supported browser; Firefox is also reported to work well.\nOn the hardware side, you need two things:\nA morse key or paddle — whatever you already use for CW, straight key or iambic paddle, will work fine.\nAn interface to get that key talking to your computer — this is the piece that actually matters, and you have two solid options:\nThe VBand USB Paddle Interface (click the Store tab once you\u0026rsquo;re on the site) — Ham Radio Solutions\u0026rsquo; own official adapter, $25 USD plus shipping. It has a 3.5mm TRS jack for your key or paddle and works by simulating keyboard presses, which is all VBand\u0026rsquo;s website needs to hear you.\nThe Vail Adapter — a similar USB key-to-computer interface from the Vail CW project, priced comparably (models currently run from about $20 to $30 depending on features; see their device comparison page for the full lineup).\nThey\u0026rsquo;re similar in price, and either one will get you into a VBand channel. I went with the Vail Adapter, because it does a lot more than just VBand. Two things sold me:\nVail Zoomer — a free app that merges your key\u0026rsquo;s sidetone directly into your Zoom, Teams, Discord, or Meet audio, so your CW class can hear your keying without you fumbling a second oscillator or holding a mic up to a speaker. I wrote up the full setup for that in an earlier guide — worth a read if a CW class or club net is part of why you\u0026rsquo;re doing this. Vail Training Tools — a large, free library of practice tools that plugs straight into the same adapter: copy drills that build from single characters up through full callsigns and Q-codes, a send-practice tool with real-time feedback, a QSO simulator for pileup practice, and even a head-copy trainer for realistic QSO practice. If you only care about VBand itself, the official adapter is a perfectly good, purpose-built choice. If you want one adapter that also opens the door to Zoom-friendly sidetone and a much bigger practice library, the Vail Adapter is the better long-term buy.\nSetting up VBand # Plug in your adapter, then head over to hamradio.solutions/vband.\nClick the Settings tab at the top of the page. This is where you tell VBand who you are and how your key behaves.\nEnter your call sign in the \u0026ldquo;Callsign - Name\u0026rdquo; field at the top. This is what other operators will see on the channel list.\nPick your keyer mode. The Mode dropdown covers the usual options — straight key, Iambic A, Iambic B, Ultimatic, and bug. If you\u0026rsquo;re running a standard iambic paddle, Iambic Keyer Mode B is the right call for most of us; it\u0026rsquo;s also what most modern transceiver keyers default to, so your fist won\u0026rsquo;t have to adjust between the radio and VBand.\nSet your keyer speed, tone, and volume with the sliders. Speed is in WPM, tone in Hz — set them to whatever you practice at on the air, so your ear stays calibrated to one speed and pitch rather than juggling different settings in different places.\nOne setting worth understanding rather than just leaving alone: Min Latency, defaulted to 750ms. Every letter you send has to travel over the internet to VBand\u0026rsquo;s server and back out to whoever you\u0026rsquo;re working, and that trip doesn\u0026rsquo;t take the same amount of time twice — this is \u0026ldquo;jitter,\u0026rdquo; and it\u0026rsquo;s the same phenomenon that makes a video call occasionally stutter. VBand adds a small buffer before playing back what you sent, so that the normal variation in network delivery time doesn\u0026rsquo;t turn into garbled spacing between your dits and dahs. Turning it down makes your sending feel more instantly responsive to you, but risks choppy-sounding code on the other end if your connection is anything less than rock solid. 750ms is a sensible starting point — leave it there unless you have a specific reason to change it.\nWork through the checkboxes as you like. There\u0026rsquo;s a long list — Flip Paddle, Enable QSOBot, Auto Character Spacing, Touch Pads, Scratchpad, Mute Local Sending, and a few others. I don\u0026rsquo;t have any of them checked, but they\u0026rsquo;re there to explore; none of them are required to get on the air.\nSetting up your own private channel # This is the step I\u0026rsquo;d consider close to mandatory if you\u0026rsquo;re using VBand for a class or a small group, rather than just dropping into the public rooms.\nHere\u0026rsquo;s why: if you never create a private channel, you\u0026rsquo;re stuck practicing in VBand\u0026rsquo;s public channels, where you never know who\u0026rsquo;s going to wander in — someone with a shaky fist still learning the ropes, or, occasionally, someone with an attitude. Sometimes a public room works fine, especially if everyone\u0026rsquo;s polite and takes turns. But more often it ends up feeling like a crowded bar where everybody\u0026rsquo;s trying to talk over everybody else — not exactly the calm, focused environment you want when you\u0026rsquo;re trying to nail down your copy.\nA private channel fixes this instantly, and it costs you nothing but a few seconds:\nOn the Settings tab, scroll down to the Private Channels section. In the empty text box next to the Add Private Channel button, type a name for your channel — your call sign works well, or any other name that\u0026rsquo;s easy to share and unlikely to collide with someone else\u0026rsquo;s. Click Add Private Channel. That\u0026rsquo;s it. Your new channel now shows up in your own channel list, and anyone you want to meet there just needs to do the exact same thing on their end — type your channel\u0026rsquo;s name into their own \u0026ldquo;Add Private Channel\u0026rdquo; box and click the button. No password, no invite link, no account to create. They now have permanent access to your room, right alongside whatever public channels they already had.\nIt\u0026rsquo;s a nice piece of design: dead simple to set up, dead simple to share, and it turns VBand from \u0026ldquo;hoping the public room is quiet tonight\u0026rdquo; into \u0026ldquo;meet me in my room at 7pm\u0026rdquo; — which is exactly what a CW class or a standing practice group with a few buddies actually needs.\nLinks # VBand Vail Adapter Vail Adapter device comparison Setting Up Vail Zoomer for CW on Zoom (HamShackTech guide) Vail Training Tools ","date":"28 August 2026","externalUrl":null,"permalink":"/guides/vband-cw-practice-setup/","section":"Guides","summary":"Set up a free key or paddle in your browser and meet your CW classmates online — plus how to build yourself a private, no-password practice room.","title":"Getting Started with VBand for CW Practice","type":"guides"},{"content":"","date":"28 August 2026","externalUrl":null,"permalink":"/tags/vail-adapter/","section":"Tags","summary":"","title":"Vail Adapter","type":"tags"},{"content":"","date":"28 August 2026","externalUrl":null,"permalink":"/tags/vband/","section":"Tags","summary":"","title":"VBand","type":"tags"},{"content":"","date":"27 August 2026","externalUrl":null,"permalink":"/tags/code-groups-trainer/","section":"Tags","summary":"","title":"Code Groups Trainer","type":"tags"},{"content":"I just published two new training tools over on the CW Tools page: the CW ICR Trainer and the CW Code Groups Trainer. Both are free, live right in your browser, and need zero install.\nThey drill two different (and both essential) CW skills. The ICR Trainer works on Instant Character Recognition — hearing a character and knowing what it is immediately, instead of counting dits and dahs after the fact. The Code Groups Trainer works on head copy — listening to a group of two to five characters at speed and writing down what you heard only after it\u0026rsquo;s done playing, which is a lot closer to how CW actually gets sent and received on the air than transcribing letter by letter as it comes in.\nWhy build my own when the internet is full of these already? # Fair question, and I want to be upfront about the answer: it\u0026rsquo;s not that the existing tools out there are bad. There are some genuinely good ICR and code-groups trainers already online, built by people who know CW far better than I do. I\u0026rsquo;m not claiming to have out-designed them.\nWhat kept happening to me, though, was opening one of those tools, using it for a session or two, and feeling like it was almost — but not quite — the way I wanted to practice. A missing stat here, a workflow that broke my flow there, no easy way to focus on just the characters that were giving me trouble. Small friction, but enough of it that I kept bouncing off. So I built the versions I actually wanted to sit down and use every day. If they happen to be useful to you too, great. If your favorite trainer already does everything you need, keep using it — I\u0026rsquo;m not trying to replace anyone\u0026rsquo;s setup, just sharing what worked for getting me to actually practice consistently.\nThe feature I use the most: Your Worst Characters # Both apps quietly track which characters you\u0026rsquo;re missing or hesitating on as you train, and surface them in a Your Worst Characters panel. That part isn\u0026rsquo;t unusual. What I wanted, though, was a fast way to actually do something about that list without breaking my practice session to go build a custom playlist somewhere else.\nSo both trainers have a Drill These Characters button sitting right next to that list. Tap it, and the app just plays your five weakest characters on a loop — pure listening, no typing, no pressure, no effect on your session stats. It\u0026rsquo;s a deliberate break from training, not more training. Get your ear back on those characters, then jump back into a normal session and watch the Worst Characters list start to shift as you improve. Still tripping on one or two? Run the drill again. It\u0026rsquo;s a small loop — train, check your weak points, drill them in isolation, train again — but it\u0026rsquo;s the thing that\u0026rsquo;s made the biggest difference in how fast I\u0026rsquo;ve been able to clean up specific characters, instead of just generally drilling everything and hoping the trouble spots sort themselves out.\nTip: add it to your phone\u0026rsquo;s home screen # Both trainers work great on a phone or tablet, and if you save one to your home screen, it behaves like a real app — full screen, its own icon, no address bar, no digging through a browser to find it again. Just tap the icon and you\u0026rsquo;re straight into a training session.\nExactly how you do this depends on your phone, but on most it\u0026rsquo;s a \u0026ldquo;Share\u0026rdquo; or browser-menu option along the lines of \u0026ldquo;Add to Home Screen.\u0026rdquo;\nHope these are useful to you. They\u0026rsquo;re both still evolving, so if you run into something that doesn\u0026rsquo;t feel right or have an idea that would make either one better, drop me a line — I\u0026rsquo;d genuinely like to hear it.\n","date":"27 August 2026","externalUrl":null,"permalink":"/blog/two-new-cw-training-tools/","section":"Blog","summary":"Two new browser-based CW trainers just landed on the site — plus the one feature in both of them I built because I couldn’t find it anywhere else.","title":"Copy That: Two New CW Training Tools Are Live","type":"blog"},{"content":"","date":"27 August 2026","externalUrl":null,"permalink":"/tags/icr-trainer/","section":"Tags","summary":"","title":"ICR Trainer","type":"tags"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/cat-control/","section":"Tags","summary":"","title":"CAT Control","type":"tags"},{"content":"HamShackTech is mostly about bringing modern technology into the ham shack — remote operation, radio mods, Stream Deck automation, that kind of thing. But there\u0026rsquo;s a second obsession running underneath all of it right now: I\u0026rsquo;m learning CW, and I am nowhere near done.\nI\u0026rsquo;m currently in my second semester of CW Academy, the free, volunteer-run course CWops offers to help hams learn and improve Morse code. If you\u0026rsquo;re thinking about learning CW yourself, I can\u0026rsquo;t recommend it enough — but that\u0026rsquo;s a post for another day.\nWhat this post is actually about is something I noticed a few weeks into my first semester: an enormous amount of class time — real, paid-in-attention class time — gets eaten alive by one dumb, solvable problem. Getting clean, intelligible Morse code into a Zoom call is harder than it has any right to be. A radio\u0026rsquo;s sidetone through a laptop mic picks up every fan, dog bark, and keyboard click in the room, and the volume is usually too quiet for anyone else on the call to copy comfortably. Multiply that across a class full of students all fighting the same fight, and you can lose ten minutes of a session just to \u0026ldquo;can you send that again, I couldn\u0026rsquo;t quite get it.\u0026rdquo;\nEarly in my own CW journey I stumbled onto the Vail Adapter — a nifty little USB device that turns your paddle or straight key into a clean digital keying signal.\nNot long after, I found its companion app, Vail Zoomer — free, open-source software that takes that signal and injects your sidetone directly into your Zoom (or Teams, Discord, Meet) audio, right alongside your voice. No microphone required to carry the code at all.\nThe difference was immediate and honestly a little embarrassing for everyone else on the call. My dits and dahs came through crisp, at a consistent volume, with zero room noise — while classmates were still straining through mic static two rooms over. Within a few sessions, students and even our advisors started asking the same question: \u0026ldquo;why does your code sound so much better than everyone else\u0026rsquo;s?\u0026rdquo;\nI answered that question enough times in breakout rooms that I basically became the class\u0026rsquo;s unofficial Vail Zoomer evangelist. At some point it stopped making sense to keep explaining the same audio driver settings and Zoom microphone quirks one Zoom call at a time, so I put together a proper visual, step-by-step tutorial instead — screenshots and all, covering the setup wizard, the virtual audio routing, and the handful of Zoom settings that have to be flipped or Zoom will \u0026ldquo;helpfully\u0026rdquo; filter your CW tone out as background noise.\nIf you\u0026rsquo;re a CW Academy student — or in any code class that meets over video — and you want your sidetone to sound like it belongs on the call instead of fighting to be heard on it, here\u0026rsquo;s the full walkthrough:\nSetting Up Vail Zoomer for CW on Zoom →\nIt\u0026rsquo;s the first how-to guide I\u0026rsquo;ve published on this site, and it exists entirely because I got tired of explaining the same thing over and over on breakout calls. If it saves you — or your classmates — a few minutes of \u0026ldquo;wait, what tab is that in?\u0026rdquo; during your next session, it\u0026rsquo;s done its job.\n","date":"26 August 2026","externalUrl":null,"permalink":"/blog/vail-zoomer-evangelist/","section":"Blog","summary":"How a CW novice with two years under his belt turned into the guy who won’t stop talking about clean sidetone on Zoom — and the guide that came out of it.","title":"Confessions of a Vail Zoomer Evangelist","type":"blog"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/echocat/","section":"Tags","summary":"","title":"ECHOCAT","type":"tags"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/categories/logging--contesting/","section":"Categories","summary":"","title":"Logging \u0026 Contesting","type":"categories"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/pota/","section":"Tags","summary":"","title":"POTA","type":"tags"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/potacat/","section":"Tags","summary":"","title":"POTACAT","type":"tags"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/categories/remote--networked-operation/","section":"Categories","summary":"","title":"Remote \u0026 Networked Operation","type":"categories"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/reviews/","section":"Reviews","summary":"","title":"Reviews","type":"reviews"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/sota/","section":"Tags","summary":"","title":"SOTA","type":"tags"},{"content":"","date":"26 August 2026","externalUrl":null,"permalink":"/tags/vail-zoomer/","section":"Tags","summary":"","title":"Vail Zoomer","type":"tags"},{"content":"I want to start with a confession: I almost didn\u0026rsquo;t write this review, because I couldn\u0026rsquo;t figure out how to get past the name.\nA few weeks ago I mentioned POTACAT to a group of ham buddies on a Zoom call, and three or four of them threw their hands up immediately. \u0026ldquo;I don\u0026rsquo;t do POTA.\u0026rdquo; I spent the next several minutes trying to walk back the framing \u0026ndash; no, it\u0026rsquo;s not just a POTA app anymore, it does SOTA, DX cluster spots, the Reverse Beacon Network, FT8 with a built-in decoder, remote operation from your phone, even a WSPR beacon mode \u0026ndash; and I\u0026rsquo;m honestly not sure I persuaded anybody. The name is catchy, it\u0026rsquo;s memorable, and it undersells the product badly. If you\u0026rsquo;ve written POTACAT off because you\u0026rsquo;re not a park hunter, you\u0026rsquo;re judging a Swiss Army knife by its bottle opener.\nWhat it actually is: a free, open-source desktop app that aggregates real-time spots from basically every activity network hams care about \u0026ndash; POTA, SOTA, DX Cluster, RBN, WSJT-X decodes, DX expeditions \u0026ndash; into one filterable table and map, and tunes your radio to any of them with a single click via CAT control. From there it just keeps going: QSO logging with ADIF export, a full FT8/FT4 engine so you don\u0026rsquo;t need WSJT-X running separately, a CW keyer, solar propagation data, and ECHOCAT, its companion remote-operation feature that lets you run your station from a phone browser. That\u0026rsquo;s a review of its own \u0026ndash; I\u0026rsquo;m not going to try to cover it all here, and neither should you try to learn it all before you install it. Grab the free download from potacat.com, hook up CAT control, and give yourself a couple of operating sessions. The feature set makes a lot more sense once you\u0026rsquo;re clicking around in it than it does on a features list.\nThe table view is where I live most of the time, but the map view is worth a look too \u0026ndash; every spot plotted geographically, color-coded by source, so you can see at a glance where the activity is without scanning a wall of callsigns.\nThe pace is the story. POTACAT is written by Casey Stanton, K3SBP \u0026ndash; a ham himself, obviously, since nobody who wasn\u0026rsquo;t would keep shipping at this rate. For long stretches he\u0026rsquo;s been pushing updates practically daily, and not small ones. In the space of a few recent releases he\u0026rsquo;s shipped a complete JS8 operating panel with its own waterfall and heartbeat replies, fixed a Windows sample-rate bug that was silently killing FT8 decoding for some users, and tracked down a VFO-B display bug on Kenwood rigs that took a full session trace to run to ground. Read the changelog yourself at github.com/Waffleslop/POTACAT \u0026ndash; it reads less like release notes and more like someone\u0026rsquo;s daily build log, and the pace alone tells you something about how much this guy uses his own software.\nHere\u0026rsquo;s the part I find genuinely refreshing, though: he doesn\u0026rsquo;t just ship fast, he ships what his users actually asked for, and he tells you so. Scroll through the release notes and you\u0026rsquo;ll see bugs credited to the operators who found them \u0026ndash; a PTT button that mysteriously vanished, chased down from a report by one specific caller; a Windows audio bug traced back to another. He\u0026rsquo;s running an active Discord where people post feature ideas constantly, and unlike a lot of developers, he actually responds. As a Buy Me a Coffee supporter myself, I can say I\u0026rsquo;ve passed along a handful of comments over there and never once been ignored.\nI\u0026rsquo;ll give a tip of the hat here to Stu, G5STU, over at Station Master Pro too \u0026ndash; a completely different developer, a completely different (paid) product, but the same rare trait: he\u0026rsquo;s in his own Discord, he answers people directly, and his users say so in reviews. It\u0026rsquo;s worth naming both of them, because it\u0026rsquo;s apparently possible to run a small ham radio software project this way. It\u0026rsquo;s just not common. After years of waiting on Ham Radio Deluxe to move at anything faster than a crawl, watching a developer this locked in on customer satisfaction and turnaround time is a genuinely nice change of pace.\nThe core app costs nothing, and I want to be clear about that \u0026ndash; there\u0026rsquo;s no bait-and-switch here. But if you use the Buy Me a Coffee link on Casey\u0026rsquo;s site and become a supporter, you pick up a handful of extras: cloud-related conveniences, embeddable widgets for your QRZ page, a Discord supporter role, a supporter-only feature request channel, and \u0026ndash; because ham radio never misses a chance for a pun \u0026ndash; a two-paw emoji 🐾 next to your callsign in the app while you\u0026rsquo;re activating. None of it is required to use the software well, but if a developer is shipping at this pace for free, throwing him a few dollars a month feels like the least I can do.\nNow, the part I actually care about most: I started learning CW earlier this year, and POTACAT has become genuinely indispensable to my practice sessions. I use the filter bar at the top to narrow the spot table down to just the bands I\u0026rsquo;m working and just CW mode. What comes back is a clean, live list of CW operators on the air right now \u0026ndash; and in many cases, POTACAT shows you the activator\u0026rsquo;s sending speed in WPM, pulled from Reverse Beacon Network skimmer data. For a new CW op, that\u0026rsquo;s huge. I can scan for the slower senders, dial one in, and answer their CQ already knowing their callsign cold \u0026ndash; which takes an enormous amount of pressure off a beginner\u0026rsquo;s copying ability. I half-suspect that\u0026rsquo;s part of where the name actually comes from: you\u0026rsquo;re pouncing.\nI\u0026rsquo;ll say this plainly: there is no other piece of software in this hobby that has brought me as much fun as POTACAT has. It is relentlessly user-focused, it does what it does extremely well, and I am having a blast with it every time I sit down at the radio. I recommend it to anyone in this hobby, full stop.\nIs it perfect? No. The name will keep costing it first impressions with hams who hear \u0026ldquo;POTA\u0026rdquo; and check out before they\u0026rsquo;ve seen what else is under the hood, and between the free core app, the Discord supporter perks, and a separate mobile subscription tier, the monetization picture has gotten a little harder to explain in one sentence than it used to be. Neither of those is a reason to skip it. Install it, hook up CAT control, and give it a weekend. I think you\u0026rsquo;ll find, like I did, that the name is the worst thing about it.\n","date":"26 August 2026","externalUrl":null,"permalink":"/reviews/potacat/","section":"Reviews","summary":"POTACAT started as a weekend project to one-click tune a rig at POTA spots. It’s become one of the most actively developed tools in the hobby – and the name might be the only thing holding it back.","title":"You Give Love a Bad Name: A POTACAT Review","type":"reviews"},{"content":" What is it? # Vail Zoomer is a free, open-source application that merges CW sidetone from a Vail Adapter directly into your Zoom (or Teams, Discord, Meet) audio — no microphone required to carry your keying.\nWhat can you do with Vail Zoomer? # Your CW sidetone will sound dramatically better in a CW class than it does for students relying on their radio or an oscillator to generate their sidetones and a PC microphone to pick up the audio. Mic-based setups pick up ambient room noise and the volume is often too low for people on a Zoom call to hear — Vail Zoomer bypasses your microphone entirely and injects the tone straight into the Zoom audio channel.\nThe built-in decoder window shows what you\u0026rsquo;re actually sending in real time (with just a slight lag), so you\u0026rsquo;ll know whether you sent too many dits and sent an \u0026ldquo;H\u0026rdquo; instead of an \u0026ldquo;S.\u0026rdquo;\nKeying speed, tone, and other settings are all adjustable on the fly from a clean, simple interface.\nPros # Dramatically cleaner sidetone than mic-based setups — no ambient room noise, much better volume and clarity Real-time decode window so you know exactly what you sent Adjust speed and tone on the fly, mid-session Free and open source Cons # Some CW course advisors and students report latency issues. I\u0026rsquo;ve never personally experienced this, but it\u0026rsquo;s a common objection — don\u0026rsquo;t let it talk you out of trying it yourself. It\u0026rsquo;s changed my CW training sessions for the better. The audio settings Vail Zoomer needs are different from your normal PC audio setup, so you have to remember to reconfigure things before every Zoom call. Vail Zoomer\u0026rsquo;s setup wizard has good reminders built in, but keeping a note handy helps. An even better fix: set up a Stream Deck multi-action button that opens everything and adjusts your audio settings automatically, then restores everything and closes up when you\u0026rsquo;re done. Every ham shack should have a Stream Deck — a guide on building that button is coming soon. Links # Vail Adapter Vail Zoomer Vail Zoomer on GitHub Installation # Vail Zoomer is available for Windows, macOS (Intel only — Apple Silicon support is coming), and Linux. This walkthrough covers Windows, since that\u0026rsquo;s what I run.\n1. Download and install # Head to the download page and grab the Windows build. You\u0026rsquo;ll get two files — use the Windows Installer Package (named something like Vail_Zoomer_0.3.0_x64_en-US at the time of writing).\nWindows SmartScreen will likely flag the installer as unrecognized. That\u0026rsquo;s expected for a small open-source tool without a paid code-signing certificate — click Run anyway.\nRun through the setup wizard.\n2. Connect your Vail Adapter (Step 1 of 4) # On first launch, Vail Zoomer walks you through a 4-step setup wizard. Step 1 confirms your Vail Adapter is connected — press your key and the dot should light up.\n3. Install virtual audio (Step 2 of 4) # Zoom can\u0026rsquo;t hear Morse tones on its own — Vail Zoomer needs a small virtual audio bridge so your voice and the tones reach Zoom together. This step will prompt you to install VB-Cable, a free virtual audio driver.\nDownload VB-Cable from vb-audio.com/Cable.\nExtract the zip, right-click VBCABLE_Setup_x64.exe, and choose Run as administrator, then click Install Driver.\nWindows will ask you to restart to apply the changes. Save anything open and restart.\nOnce your PC restarts, reopen Vail Zoomer — it\u0026rsquo;ll detect VB-Cable automatically and pick up right where you left off.\n4. Pick your audio devices (Step 3 of 4) # Choose the microphone you actually talk into (not VB-Cable — that\u0026rsquo;s handled automatically), and where you want to hear the Morse tones yourself while practicing.\n5. Set up your video app (Step 4 of 4) # This step gives you the exact settings to change inside Zoom itself. These matter — Zoom\u0026rsquo;s default audio processing is built to suppress background noise and irregular tones, which is exactly what a CW sidetone looks like to it if you don\u0026rsquo;t turn these off:\nSettings → Audio → Microphone: select CABLE Output (VB-Audio Virtual Cable) Turn off \u0026ldquo;Automatically adjust volume\u0026rdquo; Settings → Audio → Microphone modes: pick \u0026ldquo;Original sound for musicians\u0026rdquo; Turn off \u0026ldquo;High-fidelity music mode\u0026rdquo; Turn off noise suppression and echo cancellation One quirk worth knowing: \u0026ldquo;High-fidelity music mode\u0026rdquo; has to be off or Zoom\u0026rsquo;s own mic test won\u0026rsquo;t pick up your tones — but they work fine once you\u0026rsquo;re actually in a call, even with it toggled differently.\n6. You\u0026rsquo;re set up # Once the wizard finishes, you land on the main Vail Zoomer window — your keyer, mic, and tone monitor at a glance, live audio meters, your key type/speed/tone settings, and the decoder feed at the bottom.\n7. Double-check your PC\u0026rsquo;s audio settings # Before every call, it\u0026rsquo;s worth a quick glance at Windows\u0026rsquo; Sound settings — output should be your normal speakers/headset, and input should be set to CABLE Output (VB-Audio Virtual Cable).\n8. Confirm Zoom\u0026rsquo;s microphone selection # Inside Zoom itself, confirm your microphone is set to CABLE Output (VB-Audio Virtual Cable) and your microphone mode is set to \u0026ldquo;Original sound for musicians\u0026rdquo; — this is the setting that stops Zoom from treating your CW tone as noise to be filtered out.\nThat\u0026rsquo;s it — hop into your next CW class or practice session and your sidetone will come through clean, direct, and free of room noise, echoes and volume issues that plague mic-based setups.\n","date":"24 August 2026","externalUrl":null,"permalink":"/guides/vail-zoomer-zoom-setup/","section":"Guides","summary":"Merge CW sidetone from a Vail Adapter directly into your Zoom, Teams, Discord, or Meet audio — no microphone needed to carry your keying.","title":"Setting Up Vail Zoomer for CW on Zoom","type":"guides"},{"content":"","date":"24 August 2026","externalUrl":null,"permalink":"/tags/vb-cable/","section":"Tags","summary":"","title":"VB-Cable","type":"tags"},{"content":"I was a tech person long before an amateur radio operator. So when I finally got licensed in 2019, the two hobbies didn’t so much collide as pick up where the other left off. Like many hams, I spend a lot of time figuring out how to make radios, computers, and gear talk to each other.\nMost of my operating has been outdoors. I activated all 50 U.S. states in Parks on the Air (POTA). My attention however turned recently to Summits on the Air (SOTA) after I moved to Southern California, a place crowded with summits . After packing a few backpacks with my trusty Yaesu FT-891, I quickly realized that it was time to ditch the heavy gear and go as light as possible. The idea of walking up with a small QRP radio and a CW key is what pulled me in.\nA key doesn’t help much if you can’t use it, so I enrolled in CW Academy. I’m in my second “semester” now, and that class is the real reason this site exists. My classmates and I had so many practical questions: How do I get my CW sidetones into Zoom? How can I use my key with the online training sites like Morse Code World, LCWO or the VBand site? How do I upload a custom file to my Morserino 32 Pocket? I started writing the answers to these and many other questions down for my future reference and in some cases have shared them with my classmates.\nThe tutorials for classmates are still here. The mission just got bigger. If there’s a way to connect a radio, antenna, CW key, or other shack hardware and software to the rest of my world — such as a Stream Deck, a Node-RED flow, Home Assistant dashboard, a PC or Mac script, or an AI tool that actually saves time — I’m game to try. I’m not an expert. I’m someone with a soldering iron, a PC, and a stubborn interest in making the two work together. The write-ups (and perhaps some upcoming videos) are the notes from that process: projects, wrong turns, and guides meant for operators who are comfortable with hardware but new to automation — and the other way around.\nIf you’ve got a better way to do any of this, please say so. Comments and ideas are welcome.\nCheers!\n73 Tim N6WAX\n","externalUrl":null,"permalink":"/about/","section":"HamShackTech","summary":"I was a tech person long before an amateur radio operator. So when I finally got licensed in 2019, the two hobbies didn’t so much collide as pick up where the other left off. Like many hams, I spend a lot of time figuring out how to make radios, computers, and gear talk to each other.\n","title":"About Me","type":"page"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"Questions, ideas, or your own ham shack tech projects — drop a note below, or email contact@hamshacktech.com directly.\nName Email Message\nSend Message\nThanks — your message is on its way. I'll get back to you soon.\n","externalUrl":null,"permalink":"/contact/","section":"HamShackTech","summary":"Questions, ideas, or your own ham shack tech projects — drop a note below, or email contact@hamshacktech.com directly.\nName ","title":"Contact","type":"page"},{"content":"Everything for CW practice now lives in one free app: the HamShackTech CW Trainer. Install it on your computer or phone and it works like any other app, even with no internet connection.\nHamShackTech CW Trainer App Free · Installable App One app you use online, or install on your computer, phone or tablet. Installed, it gets its own icon and its own window, and it works with no internet connection. Updates arrive automatically whenever you open it while you're online. Inside, one tab each:\nICR: Instant Character Recognition drills. Hear a character, press the space bar the moment you know it, then type it. Tracks your weakest characters and drills them, Car Mode plays characters for hands-free listening, and Walk Mode does the same with a voice that says each one, playing on with the phone in your pocket. Code Groups: head copy of character groups, common words, QSO elements, call signs, and phrases and sayings, with Farnsworth spacing and a replay after each miss. Walk Mode plays them hands-free, with a voice that spells each one out. Keyer: sending practice with your own key through a Vail or VBand adapter (or the on-screen paddles), with your speed, spacing and timing measured, including Farnsworth spacing like 25/10. QSO: work a complete contact (standard, POTA, SOTA or a CWops CWT) with a virtual station, using your key. Set separate copy and sending speeds. Test Prep: practice the CW Academy placement test for Intermediate. Hear a call sign or short phrase at 25 WPM (Farnsworth 10), pick it from 4 choices, and see if you reach the 80% pass mark. Progress: your practice time, day streaks, accuracy and speed trends, and the characters you miss most. Jeopardy: Morse Code Jeopardy for CW groups. Play online with up to 20 people, or on your own, each hearing the clues at their own speed and answering with their key. Everyone builds one group score together. Each tool keeps its own speed, tone and volume, so your ICR speed doesn\u0026rsquo;t change your QSO speed. Sign in with your email (optional, no password) and your practice history follows you to all your devices.\nHow to install it Open the app in Microsoft Edge or Google Chrome (Windows, Mac, ChromeOS, or Android) and click Install app in its title bar — or the install icon at the right end of the browser's address bar. On an iPhone or iPad, open it in Safari, tap Share, then Add to Home Screen. On a Mac with Safari (macOS Sonoma or later), open it and choose File → Add to Dock. Launch it from your Start menu, dock, or home screen like any other app. Open the CW Trainer App →\n","externalUrl":null,"permalink":"/cw-tools/","section":"HamShackTech","summary":"Everything for CW practice now lives in one free app: the HamShackTech CW Trainer. Install it on your computer or phone and it works like any other app, even with no internet connection.\n","title":"CW Trainer","type":"page"},{"content":"Last updated: October 12, 2026\nThis policy explains what information the HamShackTech CW Trainer app (at hamshacktech.com/cw-trainer) collects and how it\u0026rsquo;s used. The app is provided by Ham Shack Tech LLC (\u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;).\nThe short version # You don\u0026rsquo;t need an account. Without one, everything you do in the CW Trainer stays on your device. Nothing about your practice is sent to us. If you choose to sign in, we store your email address and your practice history so it can appear on all your devices. That\u0026rsquo;s all it\u0026rsquo;s used for. Online Jeopardy rooms pass the name or call sign you type, the answers you send and any chat messages through our server only while the game is on. A room and everything in it is deleted about two hours after it\u0026rsquo;s last used. No ads, no tracking, and we never sell or share your information. You can download or delete your data at any time from Settings → Account. What we collect if you sign in # Your email address, to send you sign-in codes and to identify your account. Your practice history: the date, length and type of each practice session, the speeds you practiced at, how many characters you copied or sent correctly (overall and character by character), measurements of your sending (speed and spacing), and summaries of practice QSOs. Your QSO station details, if you enter them in the QSO tab: call sign, name and QTH. A list of the devices you\u0026rsquo;ve signed in on, described in general terms (for example, \u0026ldquo;Windows · Edge\u0026rdquo;), with the date each signed in and when it was last used. Short-lived security records. To prevent abuse of the sign-in form, we briefly keep a record of sign-in requests, including the network (IP) address they came from. These are deleted within about a day. Sign-in codes expire after 10 minutes. We don\u0026rsquo;t collect your name, location or anything else unless you type it into the QSO station details (or an online Jeopardy room) yourself.\nOnline Jeopardy rooms # You don\u0026rsquo;t need an account to host or join an online Jeopardy game. While you\u0026rsquo;re in a room, our server keeps:\nThe name or call sign you enter, shown to the other players in that room. The game itself: the board, whose turn it is, the group score, and the answers players send (what the app decoded from each player\u0026rsquo;s keying). Other players see only the group result; each player\u0026rsquo;s own answer is shown only to that player. Chat messages you type in a room, shown to the other players there with your name and the time. They\u0026rsquo;re kept only while the room exists, and are deleted with the rest of the room\u0026rsquo;s data. Short-lived security records: to prevent abuse, we briefly keep a record of new rooms being created, including the network (IP) address they came from. These are deleted within about a day. A room is deleted, with everything in it, about two hours after anyone last used it. Rooms aren\u0026rsquo;t linked to accounts, and nothing from a room is added to your practice history.\nHow we use it # Only to sign you in, keep your practice history in sync across your devices, and keep the service secure. We don\u0026rsquo;t use your information for advertising, profiling or marketing, and we don\u0026rsquo;t email you anything except the sign-in codes you ask for.\nWho can see it # You can. We don\u0026rsquo;t look at individual accounts, except when needed to fix a problem you\u0026rsquo;ve reported to us, to protect the service from abuse, or when required by law.\nYour information is stored and processed by Cloudflare, Inc., which hosts this website, the app\u0026rsquo;s database and the service that sends sign-in emails. Cloudflare also provides Turnstile, the \u0026ldquo;are you human?\u0026rdquo; check on the sign-in form. Cloudflare handles this information on our behalf under its own privacy commitments: see Cloudflare\u0026rsquo;s Privacy Policy.\nWe don\u0026rsquo;t sell, rent or share your information with anyone else.\nHow long we keep it # Your account and practice history are kept until you delete them. You can:\nDownload your data (Settings → Account → Download my data) as a file you can keep. Clear your practice history on every device (Progress → Clear history while signed in). Sign out any device (Settings → Account). Delete your account (Settings → Account → Delete account). This permanently removes your account, practice history and device list from our side. Practice already saved on your devices stays there until you clear it. Security # Sign-in uses one-time codes instead of passwords. Codes and sign-in tokens are stored only in scrambled (hashed) form, sign-in attempts are rate-limited, and all traffic is encrypted (HTTPS). No system is perfectly secure, but we take reasonable care to protect your information.\nChildren # The CW Trainer isn\u0026rsquo;t directed to children under 13, and we don\u0026rsquo;t knowingly collect personal information from them. If you believe a child under 13 has created an account, contact us and we\u0026rsquo;ll delete it.\nChanges to this policy # If we change this policy, we\u0026rsquo;ll update the date at the top. If a change materially affects how your information is used, we\u0026rsquo;ll say so in the app\u0026rsquo;s \u0026ldquo;What\u0026rsquo;s new\u0026rdquo; note.\nContact # Questions or requests: contact@hamshacktech.com.\n","externalUrl":null,"permalink":"/privacy/","section":"HamShackTech","summary":"Last updated: October 12, 2026\nThis policy explains what information the HamShackTech CW Trainer app (at hamshacktech.com/cw-trainer) collects and how it’s used. The app is provided by Ham Shack Tech LLC (“we”, “us”).\n","title":"Privacy Policy","type":"page"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"Last updated: October 9, 2026\nThese terms cover your use of the HamShackTech CW Trainer app and its optional accounts, provided by Ham Shack Tech LLC (\u0026ldquo;we\u0026rdquo;, \u0026ldquo;us\u0026rdquo;). By using the app, you agree to them.\nThe app is free, and provided as is # The CW Trainer is a free practice tool, shared because it\u0026rsquo;s been useful to its author and his classmates. It\u0026rsquo;s provided \u0026ldquo;as is\u0026rdquo; and \u0026ldquo;as available,\u0026rdquo; without warranties of any kind, express or implied, including warranties of accuracy, fitness for a particular purpose and non-infringement. We don\u0026rsquo;t promise that it will always be available, error-free, or that saved practice history will never be lost — use Download my data if you\u0026rsquo;d like your own copy.\nYour account # An account is optional. You sign in with a code emailed to you; keep access to your email secure, since anyone who can read it can sign in as you. You\u0026rsquo;re responsible for what happens under your account. Tell us at contact@hamshacktech.com if you think someone else has used it. You can delete your account at any time from Settings → Account. Fair use # Please don\u0026rsquo;t:\nuse the sign-in form to send emails to addresses that aren\u0026rsquo;t yours, or try to overload, disrupt or break into the service; use automated tools to create accounts or access the service; or use the app for anything unlawful. We may suspend or delete accounts that do these things.\nYour data # Your practice history belongs to you. We use it only as described in our Privacy Policy.\nChanges and ending the service # We may change, suspend or discontinue the app or accounts at any time. If we plan to shut down accounts, we\u0026rsquo;ll try to give notice in the app so you can download your data first. We may update these terms; the date at the top shows when they last changed, and continuing to use the app means you accept the updated terms.\nLimitation of liability # To the fullest extent permitted by law, Ham Shack Tech LLC won\u0026rsquo;t be liable for any indirect, incidental, special or consequential damages, or for any loss of data, arising from your use of the app. Because the app is free, our total liability for any claim relating to it is limited to US $10.\nGoverning law # These terms are governed by the laws of the State of California, without regard to its conflict-of-laws rules.\nContact # contact@hamshacktech.com\n","externalUrl":null,"permalink":"/terms/","section":"HamShackTech","summary":"Last updated: October 9, 2026\nThese terms cover your use of the HamShackTech CW Trainer app and its optional accounts, provided by Ham Shack Tech LLC (“we”, “us”). By using the app, you agree to them.\n","title":"Terms of Use","type":"page"}]