Thanks for the video. A big reason why they are able to get data across the link faster is that the BTH1208-LS is a Classic Bluetooth device, which the Mooshimeter is a Bluetooth Low Energy device. Classic has much higher data rate and can get more across the link. That’s the bottleneck on the Mooshimeter. And due to a weird caveat with Android, the effective datarate is actually highly dependent on the make/model/Android version of the smartphone you’re using (I’ve mentioned in other places that Android BLE is a mess, but if I haven’t said it here yet… Android BLE is a mess). If you can try a different phone, please do. iOS’s BLE datarate is also higher than most Android phones. Unfortunately I have not used a Nexus running 6.1 so I am not sure where your baseline is.
If you’re interested in why, it’s because all the different Android phones have different BLE “connection intervals” – basically how often it will wake up to exchange data with the Mooshimeter. It can vary from 7.5ms (on some LG smartphones) to 50ms (on some Samsung devices), and the amount of data you can get across the link is inversely proportional to the connection interval. So that’s a factor of 8 spread there. Hopefully your Nexus is nearer the 7.5ms side.
I was considering making buffer depths of 1, 2, 4, available again but they don’t offer much benefit since the bottleneck is not processing, it’s comms. You can set a 32 sample buffer and raise the sample rate to 4000Hz, that would be equivalent to 1 sample at 125Hz. But I think it’s your link that’s saturating.
Sorry I don’t have a magic bullet, I hope some of this is helpful though. Let me know if you have other questions. Best