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 diagramarrow-up-right

Usage

Wire it all up. Set your settings in userConfig.py. Make sure your board is setup to run CircuitPy (itsybitsy guide arrow-up-rightand feather guidearrow-up-right) 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 queuearrow-up-right.

Contributing

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

Files

All the Arduino code is in the sub-directory morace subdirectoryarrow-up-right.

For the main branch (CircuitPy):

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

  • code.py - The main loop

  • extern.py - Helper functions

  • morseCode.py - morse code mapping

  • userConfig.py - User configurable data. Should be well documented

  • userPinMap.py - Map your pins here

  • x80PinMap.py - Uses our X80 pin maps

For the ArduinoCarrow-up-right 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.

Credits

Similar projects

License

MITarrow-up-right

Last updated