Connect Morse key as a Bluetooth keyboard
MIT License
Connect Morse key as a Bluetooth keyboard.
This repo provides firmware that enables connecting a Morse key to your device as a keyboard, such as for use with the Morse Chat mobile app.
To use, install the firmware on a Nordic nRF development board (e.g., nRF5340-DK). Pressing button one on the dev board sends a space character to a paired Bluetooth device. Simply connect a Morse key (straight or keyer) to button one by soldering diagonal contacts, making it function as a low-resistance switch when keyed.
Since there is a perceptible delay as key signals are transmitted via Bluetooth and then played via audio within the app, it is worth having a keyer that generates the sidetone, while simultaenously turning off the sidetone in the receiving app. Note that the latency and jitter is generally good at, say 20 WPM or lower. This is related to the fact that the BLE layer employs a connection interval of 15 ms, and at 20 WPM, a dit takes 60 ms and things work out fine.
To pair with a mobile device, choose Morse Key BLE Bridge in the Bluetooth settings and press button one (or activate the connected Morse key) when prompted to pair.
This is a Zephyr-based firmware repo. Read the getting-started guide here: https://docs.zephyrproject.org/latest/getting_started/index.html
This repo is using Workflow 4: Application as the manifest repository, as described in https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.6.0/nrf/dm_adding_code.html#user-workflows
This repo is not to be cloned directy from git!
Use it with Zephyr's west
metatool, e.g.:
mkdir morse-key-ble-bridge
cd morse-key-ble-bridge
west init -m [email protected]:mfikes/morse-key-ble-bridge.git
west update
For more information about west
, see https://docs.zephyrproject.org/1.14.0/guides/west/repo-tool.html
cd
to the application directory.cd /path/to/morse-key-ble-bridge/application/apps/bridge
west build --board=nrf5340dk_nrf5340_cpuapp -p always
or
west build --board=nrf52840dk_nrf52840 -p always
Next time, you can just invoke the build command:
west build
west flash
# or
west debug
This project is derived from the Nordic HID keyboard sample app. The derivations are licensed under the MIT License. See the LICENSE file for more details.