{"id":24267,"date":"2018-10-05T09:20:14","date_gmt":"2018-10-05T16:20:14","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=24267"},"modified":"2021-06-09T13:52:22","modified_gmt":"2021-06-09T20:52:22","slug":"morse-keyer-project-with-arty-a7","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/morse-keyer-project-with-arty-a7\/","title":{"rendered":"Morse Keyer Project with Arty A7"},"content":{"rendered":"<p>Recently we came across a very intresting project via Digilent Social that involved using an <a href=\"https:\/\/digilent.com\/shop\/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty A7<\/a> to make a Morse code keyer!<\/p>\n<p><span style=\"color: black; font-family: Calibri, Helvetica, sans-serif; font-size: medium;\"><span id=\"divtagdefaultwrapper\"><span style=\"color: black;\">Hardware engineer, and dedicated Ham Radio operator S\u00f8ren Kj\u00e6rsgaard, said the inspiration for this project came from his desire to build a simple keyer that had the right timing and &#8220;feel&#8221; when using the paddles.\u00a0 However he had very little experience with the world of FPGA, so he looked around the internet for similar projects. He soon found<a href=\"http:\/\/jbrady.com\/fpga_keyer.html\"> Jim Brady&#8217;s Spartan 3 keyer<\/a> from 2014.<\/span><\/span><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-24268\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/04\/b.jpg\" alt=\"\" width=\"576\" height=\"432\" data-wp-pid=\"24268\" \/><\/p>\n<p>After examining the project, he figured he would try to do something like the above, but maybe a little bit simpler. The final keyer is a state machine which utilizes counter to implement the strict timing rules involved in Morse code. He expands on his design below:<\/p>\n<blockquote>\n<div>I\u2019ve implemented a couple of different clocks: 1) The keyer main clock, defining the transmission speed, 2) A faster clock<\/div>\n<div>to implement a paddle (button) debounce and 3) A clock to generate the tone heard in the speaker.<\/div>\n<div>Oh, and actually I am using the debounce clock to secure 50% duty cycle on those very bright tricolor LEDs.<\/div>\n<\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-24270\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/04\/Arty_keyer-450x600.jpeg\" alt=\"\" width=\"450\" height=\"600\" data-wp-pid=\"24270\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/04\/Arty_keyer-450x600.jpeg 450w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/04\/Arty_keyer.jpeg 480w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<p>He reports that the final project achieved his goals of creating a professional &#8220;instrument&#8221; feel, and that the timing is just right. His next steps will include adding keyer speed adjustment and LED readout of actual speed. He also expressed an interest in continuing with FPGAs, adding that he planned to move on to the <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7-20<\/a> or the <a href=\"https:\/\/digilent.com\/shop\/zybo-z7-zynq-7000-arm-fpga-soc-development-board\/\">Zybo Z7-20<\/a> next.<\/p>\n<p>Check out the project in action below!<\/p>\n<p><iframe loading=\"lazy\" width=\"735\" height=\"551\" src=\"https:\/\/www.youtube.com\/embed\/zC8wtaQ0-7k?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-24267 jlk' data-task='like' data-post_id='24267' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-24267 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-24267 jlk' data-task='unlike' data-post_id='24267' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-24267 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-24267 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>A Digilent community member shares his incredible project!<\/p>\n","protected":false},"author":36,"featured_media":24270,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4327,35],"tags":[],"ppma_author":[4485],"class_list":["post-24267","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects","category-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2018\/04\/Arty_keyer.jpeg","authors":[{"term_id":4485,"user_id":36,"is_guest":0,"slug":"mirandamay7","display_name":"Miranda Hansen","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9bae943b615ddb1dedee72ccb219b464?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Hansen","last_name_2":"","first_name":"Miranda","first_name_2":"","job_title":"","description":"I enjoy creative writing, engineering, thinking, building, exploring and sharing with people.\r\nHuge aficionado of spending time thinking about things that \u201cdon\u2019t matter.\u201d \r\n I am very interested in unconstrained creativity. I love cross-discipline ideas and all of their integration into complete original systems.\r\n\r\nAnd I like things that do things."}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/24267","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=24267"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/24267\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/24270"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=24267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=24267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=24267"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=24267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}