SchwiftyEx · User Manual

Fire cues wirelessly.

SchwiftyEx turns button presses — on the device or on a hand-held remote — into OSC and MIDI messages your show software and consoles already understand. This is the full setup and operation guide.

01 — The device

Anatomy

Four function buttons, one setup/status ring under the antenna. Each function button has a fixed colour so you can tell them apart at a glance — the colours never change.

  • B1Green · bottom-left
  • B2Amber / yellow · bottom-right
  • B3Blue · top-left
  • B4Red · top-right
  • SETSetup / status ring, under the antenna

Tip: click the buttons in the picture — the status ring blinks green just like the real device when a button fires.

02 — Status LED

Reading the setup ring

The ring under the antenna is both the setup button and the device’s status light. Its colour tells you which network mode you’re in and what just happened.

LEDMeaning
Solid blueWi‑Fi mode — connected to your network and ready to send.
Breathing blueTrying to connect to a saved Wi‑Fi network.
Solid purpleAccess-Point mode — the device is broadcasting its own Wi‑Fi so you can connect directly.
Breathing purpleAccess Point is starting up.
Blinking redNo password set — a new or factory-reset unit. It stays open to anyone, on its Access Point and on Wi‑Fi, and keeps blinking until you set a password on the Settings page.
Blinking red / bluePassword-free login window is open (Wi‑Fi mode) — you have 30 seconds.
Blinking red / purplePassword-free login window is open (AP mode) — you have 30 seconds to join SchwiftyEx_Recovery and set a code.
Green blinkA MIDI message was just sent.
Red blinkAn OSC message was just sent.
ⓘ

The setup ring does two things: hold it 5 seconds to switch between Wi‑Fi and Access-Point mode, or tap it 5 times to open a 30-second password-free login window (handy if you forget the code).

03 — First-time setup

Getting connected

Everything is configured from a browser — there’s no app to install. The first time, you’ll connect to the device directly and set a name and password.

Printable one-page version: Get started guide (PDF, A4).

  1. Power it up

    Plug SchwiftyEx into a computer or USB power supply with a USB‑C cable.

  2. Join its Wi‑Fi

    A new SchwiftyEx starts as an open Access Point named Schwifty — no password needed. The setup ring blinks red to show it isn’t secured yet. Join it from your phone or laptop.

  3. Open the setup page

    A new unit opens its Welcome page on your phone automatically when you join, and asks you to choose a password. If it doesn’t, open a browser at http://schwifty.local — type the http://, or the browser may try a secure connection the device doesn’t offer and the page won’t load.

  4. Set a password & your Wi‑Fi

    On the Welcome page, choose a password (8–63 characters, typed twice). The same code protects the setup page and the Access Point — one code to remember. Optionally pick your Wi‑Fi from the dropdown (or choose Other network to type the name) and enter its password: the device joins it, your phone goes back to your own Wi‑Fi, and you open http://schwifty.local and log in — done in one step. Without Wi‑Fi, the Access Point restarts locked: join Schwifty again with your new password, and the login page opens by itself. Either way the ring stops blinking red.

    Wrong Wi‑Fi password? If it can’t join, the ring turns purple and the device opens its own network again, now locked with your password. Join it, log in, and Settings opens with a red note above the Wi‑Fi fields — fix the name or password and press Save Wi‑Fi & Connect.

    Page won’t load? http://schwifty.local works on your own Wi‑Fi and on the device’s network Schwifty — check that your phone is on the same network as the device. Phones sometimes jump to another Wi‑Fi by themselves.

  5. Name it & add more Wi‑Fi

    On the Settings page, give the device a name and add up to 4 Wi‑Fi networks — pick from the list of networks nearby. SchwiftyEx tries them in priority order, and once any Wi‑Fi is saved it boots straight into Wi‑Fi mode (solid blue). Log in from any device on that network at http://schwifty.local — if you rename the device, use its new name, e.g. http://stage-left.local.

⚠

Forgot the password? You don’t need to reset anything — just tap the setup ring 5 times to open a 30-second password-free login window. On the Settings page, the eye next to the password field shows the current password — or set a new one.

04 — Network modes

Wi‑Fi & Access Point

Two ways to reach the device. Use Wi‑Fi on a show network so OSC reaches your consoles; use Access Point anywhere there’s no network.

Switching modes

Hold the setup ring for 5 seconds to toggle between Wi‑Fi mode (blue) and Access-Point mode (purple). In Access-Point mode the device makes its own network so you can connect directly — perfect for a quick change on stage or in a venue you don’t control.

ⓘ

If you ever can’t reach the device, it also offers a recovery network named SchwiftyEx_Recovery. Combined with the 5-tap login window, you can always get back in.

05 — Onboard buttons

Using the four function buttons

A function is a message (or several) that SchwiftyEx sends. You bind a button to a function, and pressing that button fires it.

  1. Create a function

    On the Functions page, click Add Function and give it a name (e.g. “GO”).

  2. Bind a button

    In the binding box (the field with the red ×), type the button name: B1, B2, B3 or B4.

  3. Choose press, release, or both

    Tick Pressed, Released, or both to decide when each message is sent, then set the message itself (see Message types below).

  4. Save & fire

    Click Save all functions. Now press the button on the device — the function fires and the status ring pulses (green for MIDI, red for OSC).

ⓘ

One button can trigger several functions at once — just bind the same button name in more than one function.

Ready to test out of the box

A new SchwiftyEx comes with one example function on each button, each using a different message type. Press each button once to check that everything works — then edit or delete them to build your own setup.

ButtonTypePressRelease
B1MIDI NoteNote On 60, velocity 127, ch 1Note Off 60
B2OSC/schwifty/b2 1/schwifty/b2 0
B3SysExF0 7D 53 58 01 F7F0 7D 53 58 00 F7
B4MIDI CCCC 1 = 127, ch 1CC 1 = 0

Watch B1, B3 and B4 in any MIDI monitor connected over USB. The B2 OSC message is broadcast to port 8000 on your Wi‑Fi network, so any OSC monitor on that network receives it without knowing the device’s address — point the Broadcast 8000 endpoint preset at your console when you’re ready. Broadcast is handy for a first test, but over Wi‑Fi a lost broadcast packet is never re-sent, so a few messages can go missing (e.g. 18 of 20). For a show, always set the endpoint to the receiving computer’s or console’s own IP address: then Wi‑Fi re-sends until every message arrives. The SysEx uses the non-commercial manufacturer ID (7D), so no real device reacts to it.

ⓘ

A factory reset restores these example functions and presets. Your own functions are only replaced when you reset.

06 — Wireless remotes

Pairing & using remotes

SchwiftyRemote hand-held fobs come in 1-, 4- and 8-button versions. Pair one to SchwiftyEx and its buttons work exactly like the onboard buttons — from across the room.

1-buttonsingle trigger
Binds as
“Name”-1
1 2 3 4
4-buttonbuttons 1–4
Binds as
“Name”-1“Name”-2“Name”-3“Name”-4
1 2 3 4 5 6 7 8
8-buttonbuttons 1–8
Binds as
“Name”-1“Name”-2“Name”-3“Name”-4“Name”-5“Name”-6“Name”-7“Name”-8

Click a remote button — the indicator LED blinks, just like the real fob transmitting.

  1. Pair the remote

    Go to the Pairings page and click Add pairing, then press any button on the remote. Its serial number is saved to SchwiftyEx. After that the card gets a small numbered box for each button you press on the remote (1, 2, 3, 4…). The boxes stay, and the one you press flashes — so you know which number to bind.

  2. Give it a name

    Type a name for the remote (e.g. “Thomas”) and click Save.

  3. Bind its buttons to functions

    In a function’s binding box, type the remote name and the button number joined by a dash. Button 4 on a remote named Thomas is Thomas-4.

  4. Press & fire

    Press the button on the remote — the function fires exactly as if you’d pressed the device.

ⓘ

Swap or back up a remote instantly: pair a new remote and give it the same name as an old one — every existing binding keeps working. Name several remotes the same way to have a spare, or to let multiple remotes fire the same cues.

07 — Message types

What a function can send

Each press or release action sends one of four message types. Mix and match across functions — a single button can send MIDI to your DAW and OSC to a lighting console at the same time.

MIDI MIDI Note

A note on press and note off on release — the classic way to trigger QLab, Ableton Live, and most show software.

Fields: Channel · Note · Velocity

MIDI MIDI CC

A Control Change message — for faders, mutes, and any control mapped to a CC number.

Fields: Channel · CC number · Value

OSC OSC

An Open Sound Control message sent over the network — straight to grandMA3, ETC Eos, QLab, X32 and more. Pick an Endpoint (IP · Port) from the Presets page, then paste the full message into the OSC message field: /address value or /address "quoted value". Copy the line straight from the green SchwiftyEx row in the OSC & MIDI generators.

Fields: Endpoint · OSC message

MIDI MIDI SysEx

Raw System-Exclusive data — for MMC/MSC and mixer scene recalls (Allen & Heath, and others).

Fields: Data (hex)

ⓘ

Not sure what to type? Use the free OSC & MIDI command generators — pick your console, build the message, and paste it straight into a function. Each generator has a Copy for SchwiftyEx button: paste the result into a preset’s OSC message (or SysEx data) field. For many at once use Copy CSV for SchwiftyEx → Presets → Preset CSV Import, choose your console’s endpoint and press Upload & Add. The CSV has no IP address on purpose: when the console’s address changes you only edit its endpoint.

08 — Presets & tools

Presets, terminal & firmware

Presets

Save a complete set of functions and pairings as a preset, then reload it later — ideal for switching between shows, venues or setups.

Serial terminal

The built-in Serial Terminal shows every message as it’s sent, with a live log you can watch while you test bindings. It starts folded away — tap Show to open it, Hide to fold it again. You can download the log as a CSV for documentation.

Each button press or release is one line, ending with the function that fired and — for OSC — the exact target and message that went out:

Pressed : Button 4 (B4)   Button: 4   SN: B4   Function: GPIO12 · Fader up · OSC 10.0.0.5:8000 /ch/01/mix/fader 0.75

If a message cannot be sent, the line is followed by a reason instead, so a silent log never hides a failure:

  • OSC drop: not connected to WiFi — the device is in AP mode or offline.
  • OSC drop: rate limit — the same target and address was sent to less than 15 ms ago.
  • OSC drop: preset not found / no endpoint / bad IP/port — the message preset is incomplete.
  • OSC drop: UDP send failed — the network refused the packet.
ⓘ

If a message appears in the log but your console shows nothing, the device has done its job — check that no other program on the receiving computer is already holding the OSC port, as only one program at a time can listen on it. If only some messages arrive and the endpoint is a broadcast address (255.255.255.255 or ending in .255), Wi‑Fi dropped them on the way: broadcast packets are never re-sent. Set the endpoint to the receiving computer’s own IP and every message arrives.

Firmware updates

Online: with SchwiftyEx on a Wi‑Fi that has internet, open Settings → Firmware Update and tap Check for updates. It shows the new version and what changed; tap Install update and it downloads, checks the file and restarts by itself (about a minute). Nothing is installed until you tap Install — don’t update during a show, and keep it powered until it has restarted.

From a file: download firmware.bin from github.com/tumsen/SchwiftyEX-firmware/releases and open Advanced: update from a file on the same page — this also works without internet and on the device’s own network.

Safety net: the previous firmware stays on the device. A new version runs on trial for its first 30 seconds; if it crashes or restarts in that time, SchwiftyEx goes back to the previous firmware by itself. (Unplugging it in those 30 seconds does the same — just update again.)

Your functions, pairings, presets and settings are kept when you update.

09 — At a glance

Capacity & limits

SchwiftyEx scales from a single fob on stage to a whole building of triggers.

4
onboard function buttons (B1–B4)
100
wireless remotes paired
800
remote buttons total (100 × 8)
1000
functions
4
saved Wi‑Fi networks, in priority order
2
connections at once: OSC over Wi‑Fi & MIDI over USB