Open Wireless Switch (OWS)

Introduction

This project is very much experimental and work-in-progress. We have not yet all the aims of the work and may never get there. We hope though that key learning may be useful for others developing wireless switches in the future - HID or BLE advertisement.

Background

There are a lot of various switches in existence. The typical connection for this has been a 3.5mm jack and socket. For a computer to understand this switch press, you require a box that turns this into something useful. This has typically been either a keypress, mouse press or a game controller button. Being tied to a lead can be a nuisance and risk for some people. We need a way of wireless switches existing. You can do this right now either using a form of Radio or Bluetooth - where several commercial switches and switch boxes exist and act as a Bluetooth Keyboard. But, this protocol can be both costly in respect of battery life and in overheads to support a Bluetooth keyboard.

Some companies have developed lower power switches using Bluetooth, but this is proprietary, and the technique is not open to allow others to use.

Aim

  • Define an open protocol for wireless switches that allows anyone to develop a switch for any system - and equally; software developers support the OWS standard

  • It should be as energy conservative as possible. People should expect a battery life of months and years - not hours and days.

  • It should work with no dongle on the receiving end. This is because many devices either have no port or it becomes difficult to access a port on a computer. But of course, having a dongle may be preferable and allow support to systems which can't/won't be supported

  • It should have a way of working with physical devices too

  • It should allow for 1+ multiple switches to use the same protocol

  • It should have documented the response times

  • It should be open to scrutiny and improvements from anyone

What does this do?

As of right now, we have working firmware for a Bluetooth chipset and software to receive the switches without the hardware. This is currently in python. We are open to discussion about the protocol and code.

What techniques have you considered?

Let's consider the different ways we can wirelessly create a switch (let us know if we have missed something!)

TechniqueProsCons

LoRa - Radio e.g 433

Low low Low power

You would need a sender and receiving dongle.

IR

Low power

Unreliable, needs a dongle to receive and send

Chirp/Sound

Low power ?

Now hard to do this as Spotify bought chrip. Could design your own thing.. but environmental noise? Unreliable? Fiddly on designing receiving code

Bluetooth HID

Ubiquotous, Receiving easy

Power hungry. A lot of wasted bandwith

Bluetooth Beacon

Low Power, Recieving straightforward

Need a dongle on some devices where a background task can't run (e.g. iOS)

Last updated