Product Documentation
MorAce
MorAce
  • What is MorAce?
  • Guides
    • Configuring morAce
    • Controlling the keyboard
    • Controlling the mouse
    • Controlling devices connected
    • Switch control mode
    • Developer notes
Powered by GitBook
On this page
  • Bill of materials
  • Arduino wiring
  • Contributing
  • Files
  • Why? Why not a different project?
  • Credits
  • Similar projects
  • License
Export as PDF
  1. Guides

Developer notes

PreviousSwitch control mode

Last updated 2 years ago

Bill of materials

1 x Ace Centre x80 or:

  • x1 or

  • x3 (or any )

  • x1

  • x1

  • x1

  • x1 Neopixel

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")

Usage

Contributing

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

Files

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

  • 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

  • Adafruit. For being amazing.

Similar projects

License

See also this

Wire it all up. Set your settings in userConfig.py. Make sure your board is setup to run CircuitPy (and ) 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 .

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

For the branch:

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

Jim Lubin - and his fab Morse archive

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

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

- Andrii Pavlyshyn who has done a lot of the changes to circuitPy and ironed out a lot of bugs.

- A really nice replica of the Adap2U sip/puff Morse code to keyboard/mouse system used by Jim Lubin. Its neat - runs on CircuitPython. The BLE libraries though arent full featured yet.

. One of the few that attempt to this project over bluetooth. Ours has a few more features than this.

. This was a bit of a kickstart to do this project (see also )

- a neat project which has some morse functionality built in using the . Also uses the feather. (See more at )

- a project to switch between switch scanning and using Gboard.

- this project has EVERYTHING you would ever need for proper morse code. We doff our cap..

Adafruit nrf52840
Adafruit nrf52840 itsybitsy
3.5mm Socket
momentary buttons
Buzzer
PNP
10K resistor
Fritzing diagram
itsybitsy guide
feather guide
issue queue
subdirectory
ArduinoC
TandemMaster
here
Adaptive Design
deeproadrash
❤️
🇺🇦
f1andrew
ATMakers - AirTalker
Morsel
Ketcha-K - morsekey project
this thread on reddit
Milad Hajihassan, Makers Making Change - and the FAIO project
easymorse project
FAIO Multiplexer
OllieBck / MorseBLEKeyboard
K3NG / Arduino CW Keyer
MIT