{"id":13580572,"url":"https://github.com/prt459/Simple_CW_keyer","last_synced_at":"2025-04-06T02:31:59.860Z","repository":{"id":183363154,"uuid":"87861832","full_name":"prt459/Simple_CW_keyer","owner":"prt459","description":"Basic CW keyer for Arduino","archived":false,"fork":false,"pushed_at":"2023-01-29T04:00:48.000Z","size":85,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-02T15:44:58.564Z","etag":null,"topics":["amateur-radio","arduino-nano","hamradio","morse","morse-code","morsecode"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prt459.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-10T22:04:59.000Z","updated_at":"2024-07-10T00:21:48.000Z","dependencies_parsed_at":"2023-07-24T06:38:04.134Z","dependency_job_id":null,"html_url":"https://github.com/prt459/Simple_CW_keyer","commit_stats":null,"previous_names":["prt459/simple_cw_keyer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prt459%2FSimple_CW_keyer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prt459%2FSimple_CW_keyer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prt459%2FSimple_CW_keyer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prt459%2FSimple_CW_keyer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prt459","download_url":"https://codeload.github.com/prt459/Simple_CW_keyer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223233097,"owners_count":17110588,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amateur-radio","arduino-nano","hamradio","morse","morse-code","morsecode"],"created_at":"2024-08-01T15:01:53.200Z","updated_at":"2024-11-05T19:32:35.992Z","avatar_url":"https://github.com/prt459.png","language":"C++","readme":"# Simple_CW_keyer\nBasic CW keyer for an Arduino Nano.  Written by Paul VK3HN, 7 Apr 2017.  \nA description and wiring diagram is at https://vk3hn.wordpress.com/Arduino-CW-keyer-for-a-BiTx-or-other-homebrew-rig\nThis code may be duplicated, used, and hacked for hobby or experimental purposes. Please acknowledge the source (VK3HN) if you do.\n\nFeatures:\n - hard coded character weights\n - hard coded or variable speed using a potentiometer\n - two or more hard coded messages, with ability to interrupt playing messages\n - straight key\n - sidetone\n - semi-break-in, PTT line to control transmit/receive switching, with configurable drop-out delay  \n - CW ident (sends hard-coded message (eg. callsign) every n seconds   \n\nThe scripts assumes the following use of Nano IO lines: \n\nD2 - keyed line, goes high with each key-down (dot or dash)  \nD3 - PTT line, goes high while transmitting, then reverts to low after BREAK_IN_DELAY mS (set to 300)   \nD4 - straight key (to GND)\nD8 - a square wave tone output at CW_TONE_HZ Hz (set to 700) \nD9 \u0026 10 - Pushbuttons to earth for 2 (hardcoded) messages, you can add more\nD11 \u0026 D12 - paddle left and right, paddle center earthed \nA3 - Potentiometer wiper across 5v for keyer speed control. \n\nYou can connect an 8 ohm speaker to D8 with a 220 ohm series resistor for audible tone.\nTo switch a relay or LED on the keyed or PTT lines, take D2/D3 to the gate of a 2N7000, 100k resistor from gate to earth, source to earth, drain to +12v via load (relay, LED with 220 ohm current limiting resistor).   \n\nAll parameters are #define'd at the top and should be self-explanatory.\n\nThe script also provides a CW Ident, sends callsign every CW_IDENT_SECS seconds (set to 180).  \nTo activate this feature, #define CW_IDENT.\n\nNOTE: The master code includes enums -- these may generate compile time errros like these:\n  key:42: error: variable or field ‘set_key_state’ declared void\n  key:42: error: ‘key_state_e’ was not declared in this scope\n  key:43: error: variable or field ‘activate_state’ declared void\n  key:43: error: ‘trx_state_e’ was not declared in this scope\n  variable or field ‘set_key_state’ declared void\n  \n  A version without enums is on branch 'sans_enums' -- if you have problems compiling the master, use the code on this branch instead.  \n\n#Acknowledgment\n  Hidehiko JA9MAT - thanks for suggesting addition of a 'straight key' mode, and for testing.\n  Victor R3QX -- thanks for suggesting keyer memory playback interrupt (tap paddle or key).  \n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprt459%2FSimple_CW_keyer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprt459%2FSimple_CW_keyer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprt459%2FSimple_CW_keyer/lists"}