OK1CDJ / M5PTT

User Manual

A wireless/wired push-to-talk and CW keyer footswitch for SmartSDR on iOS (and any MIDI-capable host), built on an M5Stack AtomS3 Lite.

M5Stack AtomS3 Lite, showing the top button and USB-C port

1 · What's on the device

PartWhereUsed for
Top buttonTop of the unitPTT (voice mode) or keyer memories (CW mode); also mode selection at power-on
Status LEDUnder the top buttonShows mode and connection state (see §6)
Grove portSide socketPlug in an external footswitch
USB-C portBottomPower and/or USB MIDI connection

An external footswitch plugs into the Grove port — signal on G1 (the yellow wire), switching to ground. Any simple momentary (normally-open) switch works.

2 · Powering the device

Use the USB-C port. What you plug it into changes how it talks to SmartSDR:

You plug it into…The device usesBluetooth
A charger or power bank (power only)Bluetooth LE — wirelessOn
A computer or iPad (a real USB host)USB MIDI — wiredOff

This switch is automatic: with a computer or iPad connected, the device uses the wired link and turns Bluetooth off, so SmartSDR never hears the same keypress twice. Unplug it and it goes back to wireless on its own.

For normal wireless use, power it from a plain charger or battery pack — not a computer.

Cable-free option: Atomic Battery Base

Stack the device onto an M5Stack Atomic Battery Base (200 mAh) for a fully untethered footswitch — no cables at all.

Battery3.7 V, 200 mAh built-in LiPo
On/offDip switch on the base selects discharge (powers the device — normal use) or charge (tops up the battery through USB-C). The two can't run at once.
IndicatorsFour-segment red gauge shows remaining charge; separate LED is blue while charging, green when full.

At 200 mAh this suits short, portable sessions. For long operating periods, power from a larger USB power bank instead. Product page →

3 · Two operating modes

ModeWhat it does
Voice (default)Footswitch and top button both act as push-to-talk. Hold to transmit, release to stop.
CWTop button triggers CWX keyer memories by click count. Footswitch is ignored.

The device remembers its mode across power cycles. To switch: hold the top button while plugging in power, keep it held for about a second, then release. It boots into the Morse letter R (·—·) flashed in green when it lands in CW mode — voice mode gives no special flash.

4 · Voice mode (PTT)

  1. Power the device from a charger — LED blinks blue while it looks for SmartSDR, solid blue once connected.
  2. Press and hold the footswitch or top button → you transmit, LED turns red.
  3. Release → you stop transmitting, LED returns to blue/green.

It's a momentary switch, exactly like a hand mic's PTT.

5 · CW mode (keyer memories)

After your last click there's a short pause (∼⅓ second) while it counts, then it sends:

Do thisSendsTypical use
1 clickCWX macro 1e.g. CQ
2 clicksCWX macro 2e.g. your call / exchange
3 clicksCWX macro 3e.g. a third message
Hold ∼½ secondCWX stop / abortCancel the message being sent

Feedback on the LED: 1/2/3 white blinks confirm memory 1/2/3 was sent; one long red blink confirms abort. Clicking more than three times still just sends memory 3.

6 · Status LED reference

LEDMeaning
RedTransmitting (PTT active)
Green (steady)Connected to a computer/iPad over USB, idle and ready
Solid blueVoice mode — connected to SmartSDR over Bluetooth
Blinking blueVoice mode — searching for SmartSDR (advertising)
Solid magentaCW mode — connected to SmartSDR over Bluetooth
Blinking magentaCW mode — searching for SmartSDR (advertising)
Morse “R” in green (at boot)Confirms it booted into CW mode
White blinks (1–3)CW memory 1/2/3 was sent
Long red blinkCW abort/stop was sent

Rule of thumb: blue = voice, magenta = CW, green = wired USB, red = keying.

7 · Pairing & setting up SmartSDR (iOS)

Connect over Bluetooth: power from a charger/power bank — LED blinks blue (voice) or magenta (CW). In SmartSDR's Bluetooth/MIDI device setup, look for M5PTT_XXXX (the suffix is unique to your unit) and connect. LED goes solid once connected.

Map the buttons in SmartSDR's Mapping Editor — all notes are on channel 1:

ActionMIDI noteMap to
Voice PTT99PTT (keys on note-on, unkeys on note-off)
CW single click100CWX macro 1
CW double click101CWX macro 2
CW triple click102CWX macro 3
CW long press103CWX stop / abort

You only need to map the notes for the mode(s) you actually use.

8 · Troubleshooting

SmartSDR doesn't see the device over Bluetooth

Make sure it's powered from a charger, not a computer — on a computer it switches to USB and turns Bluetooth off. The LED should be blinking blue/magenta when it's advertising for a connection.

It shows up but as a strange name / UUID

Look for M5PTT_XXXX. Each unit's name ends in four characters unique to it.

Keypresses seem doubled

This shouldn't happen — the device only ever uses one link at a time. If you see it, unplug and re-power from a single source.

Nothing happens when I press the button in CW mode

Remember there's a brief counting pause after your last click before the memory fires. Confirm notes 100–103 are mapped in SmartSDR and that you're in CW mode (magenta LED, "R" flash at boot).

It's in the wrong mode

Hold the top button while plugging in power for about a second to toggle modes; the choice is saved for next time.

PTT released by itself

If the Bluetooth link drops while transmitting, the device safely releases PTT so you're not left keyed up.

9 · Quick reference

Power

  • Charger / power bank — wireless (Bluetooth), LED blue/magenta
  • Atomic Battery Base — wireless (Bluetooth), no cables
  • Computer / iPad — wired (USB), LED green

Mode (chosen at power-on)

  • Just power on — last used mode
  • Hold button + power on — switch mode (saved); CW confirms with a green “R”

Voice mode

  • Footswitch or button — hold = transmit (LED red)

CW mode (top button only)

  • 1 click → memory 1 — note 100
  • 2 clicks → memory 2 — note 101
  • 3 clicks → memory 3 — note 102
  • hold ½s → stop/abort — note 103

MIDI notes (channel 1), map in SmartSDR's Mapping Editor: 99 PTT · 100/101/102 CWX macros 1/2/3 · 103 CWX stop.