//Made by OZ1JHM 2021 / 05 / 02 //Edited by ivndbt.com 2025 / 05 / 21 // in library manager search for "keyboard" and install library // If you do want to use paddles dont connetc MODE_PIN to GND. // If you want to use your own keyer connect MODE_PIN to GND // Remember to set the settings on https://hamradio.solutions/vband/ // Enjoy your internet Morse #include // ********************* only changes here ****************** # define DIH_PIN 2 # define DAH_PIN 3 # define MODE_PIN 4 //# define RED_PIN 15 //# define GREEN_PIN 14 // ********************* do not change from here ****************** void setup() { pinMode(DIH_PIN, INPUT_PULLUP); pinMode(DAH_PIN, INPUT_PULLUP); pinMode(MODE_PIN, INPUT_PULLUP); // pinMode(RED_PIN, OUTPUT); // pinMode(GREEN_PIN, OUTPUT); // digitalWrite(RED_PIN, LOW); // digitalWrite(GREEN_PIN, LOW); Keyboard.begin(); } void loop() { if (digitalRead(MODE_PIN) == LOW){ Mode_keyer(); } else{ Mode_paddle(); } } void Mode_paddle(){ while (digitalRead(DIH_PIN) == HIGH && digitalRead(DAH_PIN) == HIGH){ Keyboard.releaseAll(); // digitalWrite(RED_PIN, LOW); // digitalWrite(GREEN_PIN, LOW); } if ( digitalRead(DIH_PIN) == LOW){ Keyboard.press(KEY_LEFT_CTRL); // digitalWrite(RED_PIN, HIGH); } else{ Keyboard.release(KEY_LEFT_CTRL); // digitalWrite(RED_PIN, LOW); } if ( digitalRead(DAH_PIN) == LOW){ Keyboard.press(KEY_RIGHT_CTRL); // digitalWrite(GREEN_PIN, HIGH); } else{ Keyboard.release(KEY_RIGHT_CTRL); // digitalWrite(GREEN_PIN, LOW); } delay(5); } void Mode_keyer(){ while (digitalRead(DIH_PIN) == HIGH){ Keyboard.releaseAll(); // digitalWrite(RED_PIN, LOW); } if ( digitalRead(DIH_PIN) == LOW){ Keyboard.press(KEY_LEFT_CTRL); // digitalWrite(RED_PIN, HIGH); } else{ Keyboard.release(KEY_LEFT_CTRL); // digitalWrite(RED_PIN, LOW); } }