11

I am drafting a pub quiz project, where the Referee gives a signal and multiple players push their buttons. The first to push wins the right to give an answer.

I want all buttons (referee's + X players) to be wireless. Since the best quiz players can click a button within 10ms of the signal, it is very important that there is a very, very little variance in ping between different buttons. I cannot have players shouting "my button is laggy!" On the other hand, I don't want to use more expensive/complex tech than needed.

SO, what would be the optimal wireless tech to use? Please share your experience from similar projects (or just theoretical knowledge :) Here's what I researched so far (correct me if I'm wrong):

  1. Bluetooth 4 LE (as in RFduino) Pros: 3-6ms latency (advertised), low energy Cons: cost, not more than 7 buttons to the device

  2. Wi-fi Pros: 2ms latency (I justed pinged my wi-fi router), dozens of buttons if need be Cons: cost, power-hungry

  3. RF data tranceiver Pros: dunno, cost seems to be a bit smaller Cons: multiple buttons at the same frequency will probably create a lot of noise

  4. Simplest "Radio remote" Pros: zero lag since it's all electromechanical, no data Cons: multiple buttons at the same frequency won't work

So, did I miss anything? I appreciate any guidance.

Brian G.
  • 273
  • 3
  • 10

4 Answers4

6

I've used NRF24L01+ chipset 2.4GHz wireless modules with Arduino before, and found them to be great, and super cheap (~$10 for 10 of them on ebay!). They have 3 modes of transmission: 250kbps, 1Mbps, and 2Mbps. The range decreases accordingly with higher bitrate, but the time spent sending a message does too. There are multiple Arduino libraries (e.g. RF24, Mirf, RadioHead) and tutorials for using the modules (see http://playground.arduino.cc/InterfacingWithHardware/Nrf24L01). They also have built-in mesh networking modes which may or may not be of use.

Versions with an RP-SMA antenna connector and an advertised range of up to 1000m are also available for about $5 each. I would recommend using one of these for the referee's button at least, depending on the range you need.

According to Charles Hallard of hallard.me, The non-amplified chips can get 30m line-of-sight range in 250kbps mode, and I have verified this in my own testing.

According to user sporadic on diychristmas.org, sending a 32 byte payload in 250kbps mode takes 1432µs from the start of Tx mode on the transmitter to receiving the full message on receiver. This decreases to 444µs on 1Mbps mode and 283µs on 2Mbps mode.

Given these statistics, they fall well within 2ms latency for triggering, suitable for your application, and they use very little power. It's up to you to work out the best balance of latency, range and expense.

cortices
  • 373
  • 1
  • 7
4

Have you considered using real time clocks? You could synchornise them all ahead of time and then use any wireless protocol. Once a button is pressed, you'll look for the unit that reports the earliest time stamp and then once a window of a few seconds has passed let it know that it won. I'd consider using WIFI (802.11) with ESP8266s, RTCs and take a wireless access point along.

This isn't an answer to low lag wireless but eliminates the need for it.

Squats
  • 129
  • 1
  • 10
1

In my humble opinion it might be even cheaper if you use IR or some other type of light, assuming you can ensure line of sight. You can use different wavelengths to ensure separation of the signals.

Avamander
  • 624
  • 2
  • 11
  • 35
Igor Stoppa
  • 2,125
  • 1
  • 15
  • 20
0

Low low tech solution.

  1. The transmitter sends out its clock signal on command.

  2. The receiver just needs to detect detect the prrsence of that signal.

The whole thing can be rf, or light based - for example one of the led lights can be configured as the transmitter.

Everything should be well within 1ms.

dannyf
  • 2,813
  • 11
  • 13