[FTC]: Bluetooth lag?

We’ve been experiencing some serious lag on bluetooth with our NXT. Know, I know some lag is to be expected with bluetooth, but it’s to the point where it makes controlling the robot almost a joke. We were first using the laptop’s integrated BT, then switched to the provided USB dongle with better results, but still considerable lag.
Is this just normal, or does anyone know of a way to fix it?

I’ve had BT lag issues in the past on my Windows Mobile phone, and the fix for that was to go into the registry and change the values on the stack which determined the transmit rate. But with the supplied bluetooth adapter, I cannot find the stack anywhere in the registry.

Any help or insight is much appreciated.

What language are you using, because each one has a different amount of lag. From my personal experience RobotC has the least lag, followed by Labview and trailed by NXT-G.

Depending on your language there are ways to optimize how fast it all runs. I am personally best at optimizing RobotC codes so that they run quick, and I don’t have the greatest experience in Labview or NXT-G for operator modes.

  1. Are you using the Abe Bluetooth dongle from the FTC kit-of-parts?

  2. Use the Windows Device Manager to confirm that the Bluetooth Radio is using the Generic Bluetooth Adapter and Microsoft Bluetooth Enumerator.

  3. Is the lag the same if you use the Field Management System or the software provided with the programming environment (ROBOTC, NXT-G or LabVIEW) to control the robot?

NXT-G & LabVIEW use the National Instruments FTC Controller Station.
ROBOTC uses the ROBOTC Debug Joystick Control window.

  1. Are you running the latest version of the NXT firmware?

  2. Your HiTechnic motors are lagging. Do servos or NXT motors lag?

  3. Turn off the internal Bluetooth and remove the Bluetooth Dongle. Does the robot lag if it is controlled with the USB connection?

  4. Is the internal Bluetooth radio turned off when you are using the Bluetooth dongle?


The lag you are experiencing is most likely an unfortunate side effect of using the NXT programming language. Before we reprogrammed our robot in RobotC, controlling the robot through the code written in NXT seemed to be a joke. I know of another local team that solved the problem by using motor encoders, but there is still some noticeable lag. Your best bet is to use RobotC to program your robot.

If you are using a Toshiba computer, they have their own stack, which caused us problems. We needed to switch to the microsoft stack.

We program in LabView and in practice with the FTC Controller Station we had considerable lag. I thought we would have to go to RobotC. However at our first competition in Dec all was well. For some reason, we don’t experience lag (or it’s insignificant) with the fms. So try your code with the fms (field management system) if you haven’t already.