USB hid keyboard that uses Morse code as input. Tap in morse code and get keystrokes out.

Similar projects worth following
This is a PCB version of (by Tim Alex Jacobs) with a few improvements.
Currently it has exactly mitxela's firmware, but has hardware IO to add speed control and potentially iambic key support.

Wyolum co-founder and Hackaday writer Anool Mahidharia found mitxela's project and wrote about it here. Tim Alex hand wired his on protoboard, and Anool, being a Kicad wiz whipped out a PCB version.

It's all cleverly based on VUSB, and uses their sample usb id, so you should only use it for personal use. you can buy a hobby license from obdev pretty inexpensively

There's one extra IO pin left over so we brought that out to the end to perhaps support an Iambic/paddle key (the code might not fit.)

There's also a little hack to allow the reset pin to be used as an analog input. It's wired as a voltage divider with a series resistor insuring that it will always be high enough to keep the processor out of reset. Details can be seen here:

  • Test boards seem to have a problem

    Anool Mahidharia02/13/2018 at 07:52 0 comments

    I received a couple of assembled boards with sketchy soldering. I tried to fix those as best as I can. But, the boards cause the computer to reset/reboot when plugged in to the USB port, so something seems to be badly amiss. I'm guessing the ATtiny chips are borked. More updates after I dig in some more.

  • Programming morseKey

    Kevin Osborn06/10/2017 at 15:22 0 comments

    Mitxela (Tim Alex Jacobs) did the firmware based on the VUSB Easylogger code, and points to that if you want to rebuild it. If you are happy with the base functionality, you can just burn the hex file.

    Note: if you want to program the attiny85 in place, do so before soldering on the buzzer, as it overlaps with connector. I have some long headers that I stick in my programmer's cable and wedge it in the holes for a temporary connection to keep from having a big sticky-up header..

    I copied the easylogger source and merged it with mitxela's morsekey main.c. I also edited the Makefile to change the processor type (easylogger used attiny45) and programmer (I use usbtinyisp).

    If you want to change the programmer, it's an easy edit in the Makefile.

    First burn the fuses:

    • make fuse

    which essentially does:

    • avrdude -c usbtiny -p attiny85 -U hfuse:w:0xdd:m -U lfuse:w:0xc1:m

    and then

    • make flash

    which is

    • avrdude -c usbtiny -p attiny85 -U flash:w:main.hex:i

  • Assembly of first prototypes

    Kevin Osborn06/10/2017 at 15:13 0 comments

    Wyolum's high school intern assembled the first units without any instructions, an he did a pretty good job. There were two problems that caused them to not work.

    1. The silkscreen on the processor did show where pin 1 was but didn't match the notch notation that would show socket alignment. All the processors were installed backward.

    2. The datasheet for the USB connector has the pins numbered backward from any USB pinout I found online. As a result, 5V and GND (and the data lines) were reversed, blowing out the processor. Flippintgthe connector to the other side of the board works.

    One cosmetic flaw: The electrolytic capacitor should have been lain on it's side.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates