VEX IQ gen 2 controller firmware update failed. Controller unusable

I was reminded to update my VEX IQ gen 2 brain when I connected it to my pc running VEX code so I did it. After that, it wanted me to update the controller, which I agreed. But then the controller firmware update failed. Here is what I’m looking at:

Before update, I remember the firmware was 1.0.0. Now it shows DFU. I tried several times, disconnecting reconnecting, and restarting the VEXcode. None worked. The LED flashes red and I can’t even turn the controller off. Holding the power button will only cause the LED to stop flashing if I hold it long enough, only to see the LED flash again if I let go the power button. What should I do?

FYI, the red flashing LED is the status LED. The battery charging LED was solid red before I started updating firmware and now it doesn’t light up, even connected to a wall charger. This thing is bricked, after one firmware update.

I hope someone has a solution as I have the exact same problem on 2 controllers. Flashing red light on the top light, no indication of charging no matter which cable/power source I use. Now I do not have enough controllers for the classroom.

Also, I emailed last week and got no response.

@zliudr @esmith

Sorry about the issues. We will dig in and see what is going wrong.
Could you try a couple things to help us out?

  1. After the update fails in the VEXcode IQ app, submit a feed back saying that your controller update failed. You can even reference this post.

  2. Try to use the web interface to recover your controller. ( Use the “Recover (Fast Red Blinking)” button and follow the instructions to recover your controller.

Let us know how it goes.


I’m having the same issue, but the controller recovery via the web interface is not working because the controller is not connecting on USB (the brain will connect). I can’t get to the windows Device Manager, but the controller’s device is listed as “VEX IQ Controller FW Upgrade” with status “Driver is unavailable.”


You will need to install the Firmware Upgrade driver in order for the web interface to detect the controller. The installer for VEXcode IQ will install that driver for you.


This is the second firmware upgrade I’ve done. I did one about a month ago after unboxing and that one worked automagically (no manual installation of drivers, etc., just plug in, connect, and update firmware from the web interface).

I used the same procedure today. Pulling the battery to power cycle the controller did not affect things.

The web interface fixed one of my controllers but the other says there are no compatible devices found.

@JeremyGray The reason you have not seen this issue with other updates is because previous updates did not include the USB processor firmware. Only the radio firmware was updated. On Windows if the driver is installed you should be able to recover your controller with the web interface. For MacOS, no driver is needed.


@esmith Here is a few things to check:

  1. Make sure the power LED is still flashing red
  2. Make sure VEXcode is not open
  3. Try to update with the web interface. but use the “Connect” button instead of the “Recover” button.

Thank you levipope! I was able to recover the controller per your instructions. Strange that the full app can’t do this while the web portal can. I’m still charging my controller. I’ll post back tonight once it’s fully charged and I get it to connect to the brain and do some tests.

This is a slip-up from the engineers. I bet the issue caused the firmware on the controller to be erased but fortunately there is a manufacturer’s (processor’s manufacturer) DFU firmware that is still intact. That was probably how the recovery worked. I wonder those who are having issues with the recovery steps didn’t install vexcode app so they didn’t have all the drivers, especially the one that recognizes the VID:PID of the DFU.

1 Like

Just to let everyone know, there was an issue with the web version that would cause a successful update to say it failed. this seems to have been caused by some changes to the responses from the browser API used to talk to the controller for a specific part of the firmware update process. I’m happy to say that this issue has been fixed on the web version.

As mentioned there is also an issue with the native apps failing to update controllers. We are aware that this is a problem that needs to be resolved and are working on a solution. Unfortunately, the issue in the native app is more complicated.


Thank you levipope! I have fixed the same problem just after you post the solution above. It really works! :slight_smile:

newyen, new VEX user in Taiwan

1 Like

I’m a circuit designer and firmware developer. There is no excuse not to have a reset button to roll back to default firmware. I know that small cheap processors don’t have enough flash for that but if you ARE going to have firmware update features (meaning your platform had issues at launch that need fixing soon), you may as well plan for less-than-best-case-scenario where your latest firmware screws up all the devices and need a rollback or factory reset.

1 Like

Welcome to the forums. The staff here does a fantastic job and will resolve this. Lectures in this tone are not required. You will get more with honey than with vinegar.


This worked. Thank you.

1 Like