Developer notes

Bill of materials

1 x Ace Centre x80 or:

Download the firmware here. Note - if you prefer C take a look at the ArduinoC branch. We wont be keeping this up to date but has most of the key features.

Arduino wiring

  • Pin 10 - Morse Key 1 State: Active Low (External switch)

  • Pin 11 - Morse Key 2 State: Active Low (External switch)

  • Pin 12 - Morse Key 3 State: Active Low (External switch)

  • Pin 5 - Buzzer State: Active Low (External switch)

  • USER Switch - Switch for Connection Swapping State: Active Low (On board - Feather User SW)

  • CONN LED(Blue) - LED indication for BLE Connection status State:Active High ("On board - Feather CONN LED - Blinking : Advertising, Not connected, Steady ON : Connected, Not advertising")

See also this Fritzing diagram


Wire it all up. Set your settings in Make sure your board is setup to run CircuitPy (itsybitsy guide and feather guide) and drag and drop the files to the CIRCUITPY disk drive. Pair your device with a compatible device (PC, Mac, Linux, iOS, Android) - and away you go.

There will be bugs. Please submit them to the issue queue.


Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


All the Arduino code is in the sub-directory morace subdirectory.

For the main branch (CircuitPy):

  • - Code that runs on boot. Note the logic in here to turn on/off filesystem wriing

  • - The main loop

  • - Helper functions

  • - morse code mapping

  • - User configurable data. Should be well documented

  • - Map your pins here

  • - Uses our X80 pin maps

For the ArduinoC branch:

  • Morse_BLE_HID.ino - Main source code file

  • morseCode.cpp - Library source code file for Morse Code related functions

  • morseCode.h - Library header file for Morse Code related functions

  • userConfig.h - Configuaration File for settings

  • userPinMap.h - Pin mapping file

Why? Why not a different project?

We needed a BLE HID Switch->Morse system - that allowed swapping between several different devices - AND - switching between switch scanning and morse input.


  • Tania Finlayson - and her husband for developing (and general all round awesomeness) for building TandemMaster. Please buy one if you want to support this project

  • Jim Lubin - and his fab Morse archive here

  • Adaptive Design - who have been great recently about pushing along the morse agenda

  • Adafruit. For being amazing.

  • deeproadrash who helped immensely with a lot of the code on this project.

Similar projects



Last updated