Here is an application (or a system) using a very old morse straight keyer to encode/decode Morse automatically.
As I said it is more or less useless... but I had a lot of fun doing this !
Please have a look to this video :
As I said it is more or less useless... but I had a lot of fun doing this !
Please have a look to this video :
morse encoder runs on an ESP32 and uses this excellent library : etherkit morse lib
Things are not really complex !
the android App uses the Google voice to text service : voice recognition it sends the text to the ESP32 via BLE
The morse decoder uses the Lewis morse decoder to decode the morse stream : morse decoder
When a character is decoded it is sent to the bluetooth low energy keyboard for ESP32 : BLE keyboard
not really complex as well !
Things are not really complex !
loop code on arduino side:
void loop()
{
if ((esp_timer_get_time() - LastStep) > (1000)) //must update morse lib every 1ms
{
LastStep = esp_timer_get_time();
morse.update();
}
if (morse.tx) ledcWrite(1, SERVO_BOTTOM); //click
else ledcWrite(1, SERVO_TOP); //release click
}
the android App uses the Google voice to text service : voice recognition it sends the text to the ESP32 via BLE
The morse decoder uses the Lewis morse decoder to decode the morse stream : morse decoder
When a character is decoded it is sent to the bluetooth low energy keyboard for ESP32 : BLE keyboard
not really complex as well !
Objective-C:
void loop()
{
// call checkIncoming often enough to catch the incoming presses
Morse.checkIncoming();
// send each Morse byte to BLE port
if (Morse.available()) {
int inByte = Morse.read();
copy[0] = inByte;
copy[1]=0;
if (isBleConnected) typeText(copy); //send it to the BLE keyboard
}
}
Last edited: