2013-10-30

Morse code USB keyboard

Further exploring the capabilities of Arduino Micro as an input device, I made a telegraph key that works as a regular USB keyboard. Here's a demonstration (please excuse my lack of Morse code skills):



For the input part I used the CapacitiveSensor library. The way it works is there's a send pin and a receive pin. You put a resistor between the two pins (I used 1 megaohm) and then also connect a piece of metal to the receive pin that will act as the sensor that you touch. I used a copper coin soldered to a piece of wire. (One serious limitation of capacitive sensing done this way is that the Arduino needs to be grounded, so for example it may not work well with battery-powered laptops.)

I also added a buzzer for feedback, the one I used makes a sound when the signal pin is driven low.

Here's the sketch that's running on the Arduino. As you can see the transmission speed is fixed (though it wouldn't be hard to make it adapt to the observed speed).

If you're a Morse code enthusiast, I also recommend my Android application that listens to Morse code using your smartphone's microphone and translates it to text.

14 comments:

  1. Replies
    1. The Arduino sketch is linked in the post.

      http://www.jfedor.org/misc2/MorseKey.ino

      Delete
    2. This comment has been removed by the author.

      Delete
  2. Hi! I am an italian university student (IT) and I'm developping an app about morse code decoding.
    I see that your android app (Morse Code Reader) is exactly what I was looking for (you did a great job!).

    I was wondering if you could send me the source code about the part that decodes the audio stream in text (by microphone). I'm having big troubles with this part. If you could help me I'd really appreciate that.

    Thank you for the attention, sure a reply,
    Gioacchino

    ReplyDelete
    Replies
    1. you found me here: https://plus.google.com/u/0/105804753088611589367

      Delete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thank you Jacek. I built this keyboard, but looks like my sensor is very sensitive. Any help to correct this is highly appreciated. Thank you.

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. hi Kurt - did you download and install the cap-sense linrary on your computer ? because thats what it says you dont have :)

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. This comment has been removed by the author.

      Delete
  7. Could this possibly be implemented into some sort of iambic (paddle) key type of board?

    ReplyDelete
  8. 100% possible, no doubt.

    ReplyDelete