{"id":6698,"date":"2017-03-11T11:03:00","date_gmt":"2017-03-11T00:03:00","guid":{"rendered":"https:\/\/www.homebrewradio.us\/blog\/2017\/03\/11\/wa8wdq-builds-oz1jhms-arduino-cw-decoder-video\/"},"modified":"2017-03-11T11:03:00","modified_gmt":"2017-03-11T00:03:00","slug":"wa8wdq-builds-oz1jhms-arduino-cw-decoder-video","status":"publish","type":"post","link":"https:\/\/www.homebrewradio.us\/blog\/2017\/03\/11\/wa8wdq-builds-oz1jhms-arduino-cw-decoder-video\/","title":{"rendered":"WA8WDQ Builds OZ1JHM&#8217;s Arduino CW Decoder (Video)"},"content":{"rendered":"<p><iframe loading=\"lazy\" allowfullscreen=\"\" frameborder=\"0\" height=\"248\" src=\"https:\/\/www.youtube.com\/embed\/zbQFlzbDb8w?rel=0\" width=\"440\"><\/iframe><br \/> <b><br \/><\/b> <\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"> <object id=\"BLOG_video-64a3b48db1e5c773\" class=\"BLOG_video_class\" contentid=\"64a3b48db1e5c773\" width=\"320\" height=\"266\" ><\/object><\/div>\n<p> <b>Bill, Pete:<\/b><br \/> <b>I wanted to update you on my DC receiver progress. While I&#8217;m still operationally proficient in CW, many of my friends are not. So I thought it would be fun to add a CW decoder to my DC receiver. <\/b> <\/p>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b><br \/><\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b>In my research for a solution, I ran across a sweet decoder I thought might be of interest to the SolderSmoke listeners. OZ1JHM developed a totally software based decoder for Arduino that uses the Goertzel Algorithm. This algorithm performs similarly to a Fast Fourier Transform but only for tone decoding at specific frequencies. This limitation keeps the code small and fast making it perfect for microcontrollers like the Arduino. <\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b><br \/><\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b>I was able to hack Hjalmar&#8217;s code into mine and the result is CW decoder functionality in the receiver with no additional hardware! But, the Arduino Uno&#8217;s performance is limited so I need to dynamically switch between receiver VFO\/control code and the CW decoder in order to preserve real-time performance. This is only my first pass so perhaps I will find a way to optimize the code to more fully integrate the two. I currently switch back and forth based on whether the VFO knob has been rotated or is idle. This at least gives the illusion of real-time integration but makes it harder to tune in a signal for the decoder. <\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b><br \/><\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b>Now that the <\/b><a href=\"https:\/\/www.arduino.cc\/en\/Main\/ArduinoBoardZero\"><b>Arduino Zero<\/b><\/a><b> is available, I&#8217;ve been considering moving that direction to dramatically improve available horsepower. This isn&#8217;t the first time I&#8217;ve run out of gas with the Uno. Now it&#8217;s time to start working on a transmitter module for the radio :). You know, even though I have an operational K3, I find myself reaching for this radio first. Something magical about using something you&#8217;ve created :). But hey, preaching to the choir!<\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p2\"> <b><\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b>Be sure to check out Hjalmar&#8217;s site (<\/b><a data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=en&#038;q=http:\/\/www.skovholm.com&#038;source=gmail&#038;ust=1489187646561000&#038;usg=AFQjCNHUjTXId-JKzLjmffGg245X1NVEHg\" href=\"http:\/\/www.skovholm.com\/\" target=\"_blank\"><span style=\"color: #1155cc;\"><b>http:\/\/www.skovholm.com<\/b><\/span><\/a><b> and <\/b><\/div>\n<p> <a href=\"http:\/\/skovholm.com\/cwdecoder\"><b>http:\/\/skovholm.com\/cwdecoder<\/b><\/a><b>) for details on his design and a video demo.<\/b> <\/p>\n<div class=\"m_-7127308357022272205gmail-p2\"> <b><\/b><\/div>\n<div class=\"m_-7127308357022272205gmail-p1\"> <b>Brad WA8WDQ<\/b><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bill, Pete: I wanted to update you on my DC receiver progress. While I&#8217;m still operationally proficient in CW, many of my friends are not. So I thought it would be fun to add a CW decoder to my DC receiver. In my research for a solution, I ran across a sweet decoder I thought &hellip; <a href=\"https:\/\/www.homebrewradio.us\/blog\/2017\/03\/11\/wa8wdq-builds-oz1jhms-arduino-cw-decoder-video\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;WA8WDQ Builds OZ1JHM&#8217;s Arduino CW Decoder (Video)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67,116,419],"tags":[],"class_list":["post-6698","post","type-post","status-publish","format-standard","hentry","category-arduino","category-cw","category-denmark"],"_links":{"self":[{"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/posts\/6698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/comments?post=6698"}],"version-history":[{"count":0,"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/posts\/6698\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/media?parent=6698"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/categories?post=6698"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homebrewradio.us\/blog\/wp-json\/wp\/v2\/tags?post=6698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}