For some reason I'm having a major issue with the 3 QT Py boards I just got. They only seem to go into bootloader mode and show up as a removable disk in windows 7. I even tried installing the 2.5.0 driver on a laptop that had never had a QT Py plugged in. Installed the driver just fine. Plugged in the board. Windows tries installing the drivers. Says it's fine. I try uploading a sketch with Arduino IDE and I get an error uploading. Now I have to QT Py's with solid green lights and only come up in bootloader mode. When they first were plugged in they had the rotating LEDs showing they were working fine.
Please someone help me with this. I don't want to believe these boards were bricked without me even doing anything do them.
QT Py boards only going to bootloader mode
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit_support_carter
- Posts: 29056
- Joined: Tue Nov 29, 2016 2:45 pm
Re: QT Py boards only going to bootloader mode
Is the Windows 7 machine the only PC you have access to?
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
Yes. Only 2 windows 7 machines. One with pro and the other with Home
- mikemancl
- Posts: 1
- Joined: Sun Apr 18, 2021 2:04 am
Re: QT Py boards only going to bootloader mode
I bought 2 QT Py, one of them works well but the other doesn't!. My Windows 10 Pc does not recognize the usb port.
I can see the QTPY_Boot disk drive but I can't copy the .uf2 file in it.
Can you help me?
I can see the QTPY_Boot disk drive but I can't copy the .uf2 file in it.
Can you help me?
- adafruit_support_carter
- Posts: 29056
- Joined: Tue Nov 29, 2016 2:45 pm
Re: QT Py boards only going to bootloader mode
@mikemancl Please start a new thread for your issue.
- adafruit_support_carter
- Posts: 29056
- Joined: Tue Nov 29, 2016 2:45 pm
Re: QT Py boards only going to bootloader mode
@ovin08 This may be Windows 7 related. Have you successfully used other boards with these Windows 7 machines?
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
Yes. I have successfully uploaded code to:
Arduino brand nano v3,
Off brand nano v3 boards,
Seeeduino XAIO,
Off brand Uno 3,
Keeyees ESP32
Arduino brand nano v3,
Off brand nano v3 boards,
Seeeduino XAIO,
Off brand Uno 3,
Keeyees ESP32
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
So I was wrong about all 3 boards being messed up. I must have plugged in the same one twice since I found a board that still rotates the RGB neopixel colors and shows up fine. But here is the problem. I ALWAYS get an error uploading code. I'm just trying to upload the Blink example and I get this(I've tried hitting reset once, and even twice which goes to bootloader mode):
I've also attached what my computer says for the COM port.
Here is the ArduinoIDE settings
And here is the list of board packages I have. I followed the walkthrough and got both Arduino SAMD and Adafruit SAMD packages
Code: Select all
Sketch uses 15324 bytes (5%) of program storage space. Maximum is 262144 bytes.
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:152)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2055)
at java.lang.Thread.run(Thread.java:748)
Caused by: processing.app.SerialException: Error touching serial port 'COM17'.
at processing.app.Serial.touchForCDCReset(Serial.java:107)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:136)
... 5 more
Caused by: jssc.SerialPortException: Port name - COM17; Method name - openPort(); Exception type - Port not found.
at jssc.SerialPort.openPort(SerialPort.java:167)
at processing.app.Serial.touchForCDCReset(Serial.java:101)
... 6 more
- adafruit_support_carter
- Posts: 29056
- Joined: Tue Nov 29, 2016 2:45 pm
Re: QT Py boards only going to bootloader mode
Windows may be trying to use the wrong driver. Something to try - download the Device Cleanup tool from here:
https://www.uwe-sieber.de/misc_tools_e.html
(scroll down until you see Device Cleanup Tool)
Disconnect the QT Py from USB and run the Device Cleanup tool. Delete any entries you see that mention QT Py. Quit the Device Cleanup tool. Reconnect the QT Py. This will force Windows to go looking for the driver again, and since you have it installed, should hopefully find it and use it.
https://www.uwe-sieber.de/misc_tools_e.html
(scroll down until you see Device Cleanup Tool)
Disconnect the QT Py from USB and run the Device Cleanup tool. Delete any entries you see that mention QT Py. Quit the Device Cleanup tool. Reconnect the QT Py. This will force Windows to go looking for the driver again, and since you have it installed, should hopefully find it and use it.
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
Ok, I did this and even used the tool to erase all entries in the DeviceCleanup app. I plugged the working QT Py back in, it was picked up on a new COM port, but still the same error:
Code: Select all
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:152)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:77)
at processing.app.SketchController.upload(SketchController.java:732)
at processing.app.SketchController.exportApplet(SketchController.java:703)
at processing.app.Editor$UploadHandler.run(Editor.java:2055)
at java.lang.Thread.run(Thread.java:748)
Caused by: processing.app.SerialException: Error touching serial port 'COM3'.
at processing.app.Serial.touchForCDCReset(Serial.java:107)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:136)
... 5 more
Caused by: jssc.SerialPortException: Port name - COM3; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.touchForCDCReset(Serial.java:101)
... 6 more
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
Is that it? There's no way to fix this? I'll see if I can find a support email to try to get a refund then
- adafruit_support_carter
- Posts: 29056
- Joined: Tue Nov 29, 2016 2:45 pm
Re: QT Py boards only going to bootloader mode
Sorry for the delay. We wanted to setup a Win 7 machine and test things here. We were able to get everything to work, so we at least know this should be possible on Win 7.
We are seeing a few things that are different with your setup though.
First, let's double check the bootloader behavior. You would typically double press the reset button to get into bootloader mode. It sounds like for you, the boards are going straight into bootloader mode. Either way, you should see a green status LED and a folder named QTPY_BOOT should show up. Then, when in that state, the COM ports in Device Manager should look like this: Your screen shot of Device Manager is more like what would be seen when an Arduino sketch is running on the QT Py, so *not* in bootloader mode. And in that mode, depending on what the running Arduino sketch is, you could have problems getting the board to auto reset for a new upload. In those cases, first manually putting the board in bootloader mode helps recover.
Can you try again to put the board in bootloader mode. Try double pressing reset if needed. Just try and get to the state where a folder named QTPY_BOOT is seen and Device Manager shows the two COM ports as shown above.
We are seeing a few things that are different with your setup though.
First, let's double check the bootloader behavior. You would typically double press the reset button to get into bootloader mode. It sounds like for you, the boards are going straight into bootloader mode. Either way, you should see a green status LED and a folder named QTPY_BOOT should show up. Then, when in that state, the COM ports in Device Manager should look like this: Your screen shot of Device Manager is more like what would be seen when an Arduino sketch is running on the QT Py, so *not* in bootloader mode. And in that mode, depending on what the running Arduino sketch is, you could have problems getting the board to auto reset for a new upload. In those cases, first manually putting the board in bootloader mode helps recover.
Can you try again to put the board in bootloader mode. Try double pressing reset if needed. Just try and get to the state where a folder named QTPY_BOOT is seen and Device Manager shows the two COM ports as shown above.
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
I realized that I still have 1 board that I have not tried uploading anything to which still starts with the multicolor flashing led's like normal. But 2 _always_ start in bootloader mode now and are unusable in that state. Here's a screenshot of the 2 that only show in bootloader mode when plugged in
- ovin08
- Posts: 34
- Joined: Fri Apr 16, 2021 2:14 pm
Re: QT Py boards only going to bootloader mode
I just tried uploading this sketch to the last working board:
void setup() {}
void loop() { delay(200); }
And now I've bricked the last board. So now all 3 go straight into bootloader mode with a solid green light when plugged in.
The sketch compiled fine but the upload is when everything failed. Here's the console output. The IndexOutOfBoundsException didn't show up until the board had a solid green light and was a bit delayed
I also tried updating a windows 7 laptop to windows 10 but I was given a message that the laptop couldn't run it. That was the only machine I was willing to sacrifice to the Windows gods so using 10 isn't an option for me now :/
void setup() {}
void loop() { delay(200); }
And now I've bricked the last board. So now all 3 go straight into bootloader mode with a solid green light when plugged in.
The sketch compiled fine but the upload is when everything failed. Here's the console output. The IndexOutOfBoundsException didn't show up until the board had a solid green light and was a bit delayed
Code: Select all
Sketch uses 4764 bytes (1%) of program storage space. Maximum is 262144 bytes.
Couldn't find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board's reset button after initiating the upload.
Index: 0, Size: 0
java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at cc.arduino.contributions.libraries.ui.LibraryManagerUI.lambda$onInstallPressed$4(LibraryManagerUI.java:248)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at processing.app.Base.rebuildImportMenu(Base.java:1141)
at processing.app.Base$11.actionPerformed(Base.java:1579)
at processing.app.Base.rebuildBoardsMenu(Base.java:1550)
at processing.app.Base$8.onIndexesUpdated(Base.java:1378)
at cc.arduino.contributions.libraries.ui.LibraryManagerUI.lambda$onInstallPressed$4(LibraryManagerUI.java:246)
... 1 more
- danhalbert
- Posts: 4613
- Joined: Tue Aug 08, 2017 12:37 pm
Re: QT Py boards only going to bootloader mode
I'm not sure you've tried this yet, but if not, try this sequence:
1. Double-click to get the BOOT drive
2. From the Arduino ports menu, choose the correct port (there will be one), and make sure there is a checkmark next to it.
3. Try uploading Blink or a similar simple sketch.
The boards are very unlikely to be actually bricked: the bootloader is protected, but it's just that you're having trouble loading a new program.
Let's also try to get CircuitPython on a board:
1. Download https://downloads.circuitpython.org/bin ... -6.2.0.uf2,
2. Double click to get the BOOT drive.
3. Drag the file above to the BOOT drive.
After a few seconds, you should see a CIRCUITPY drive appear. Let us know if that happens.
1. Double-click to get the BOOT drive
2. From the Arduino ports menu, choose the correct port (there will be one), and make sure there is a checkmark next to it.
3. Try uploading Blink or a similar simple sketch.
The boards are very unlikely to be actually bricked: the bootloader is protected, but it's just that you're having trouble loading a new program.
Let's also try to get CircuitPython on a board:
1. Download https://downloads.circuitpython.org/bin ... -6.2.0.uf2,
2. Double click to get the BOOT drive.
3. Drag the file above to the BOOT drive.
After a few seconds, you should see a CIRCUITPY drive appear. Let us know if that happens.
Please be positive and constructive with your questions and comments.