Using Sparkfun Bluemate for live drum play


I am trying to build a wireless electronic drum kit, where my drum triggers transmit the input to a computer via the Sparkfun bluemate and an Arduino Pro. However, I am experiencing significant end-to-end latency to the point where real time live play isn’t feasible. I’m pretty sure most of the latency is from the bluetooth itself and not my code. I am wondering if using the high-level Arduino language (I simply call serial.print to tx over BT) in conjunction with the “plug-and-play” bluemate (which utilizes the RN-41 radio from Roving Networks) is just inherently too laggy, and if it is possible to get the performance I need if I talk to this radio with lower level language (e.g., Atmega assembly language directly to RN-41 chip).

Has anyone had good results for a similar real-time application (desired latency < 20-30 ms end-to-end) using this hardware? Or, could anyone suggest a different platform?


Yeh at first I thought maybe it was just the inherent lag of bluetooth, and that it can't be avoided, but it seems that, for example, Wii Rock Band is able to work fine and also, things like bluetooth keyboards and mice seem to respond unperceivably fast, so I think bluetooth protocol should be able to handle it.