QT Py boards only going to bootloader mode

CircuitPython on hardware including Adafruit's boards, and CircuitPython libraries using Blinka on host computers.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

QT Py boards only going to bootloader mode

Post by ovin08 »

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.

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: QT Py boards only going to bootloader mode

Post by adafruit_support_carter »

Is the Windows 7 machine the only PC you have access to?

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

Yes. Only 2 windows 7 machines. One with pro and the other with Home

User avatar
mikemancl
 
Posts: 1
Joined: Sun Apr 18, 2021 2:04 am

Re: QT Py boards only going to bootloader mode

Post by mikemancl »

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?

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: QT Py boards only going to bootloader mode

Post by adafruit_support_carter »

@mikemancl Please start a new thread for your issue.

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: QT Py boards only going to bootloader mode

Post by adafruit_support_carter »

@ovin08 This may be Windows 7 related. Have you successfully used other boards with these Windows 7 machines?

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

Yes. I have successfully uploaded code to:
Arduino brand nano v3,
Off brand nano v3 boards,
Seeeduino XAIO,
Off brand Uno 3,
Keeyees ESP32

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

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):

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
I've also attached what my computer says for the COM port.
COM Ports
COM Ports
QTPyCom.PNG (2.48 KiB) Viewed 378 times
Here is the ArduinoIDE settings
Currently Selected Settings
Currently Selected Settings
QTPySettings.png (14.85 KiB) Viewed 378 times
And here is the list of board packages I have. I followed the walkthrough and got both Arduino SAMD and Adafruit SAMD packages
All boards packages
All boards packages
QTPyBoards.png (40.98 KiB) Viewed 378 times

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: QT Py boards only going to bootloader mode

Post by adafruit_support_carter »

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.

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

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

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

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

User avatar
adafruit_support_carter
 
Posts: 29056
Joined: Tue Nov 29, 2016 2:45 pm

Re: QT Py boards only going to bootloader mode

Post by adafruit_support_carter »

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:
com_ports.png
com_ports.png (8.89 KiB) Viewed 298 times
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.

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

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
BootPys.PNG
BootPys.PNG (3.8 KiB) Viewed 242 times

User avatar
ovin08
 
Posts: 34
Joined: Fri Apr 16, 2021 2:14 pm

Re: QT Py boards only going to bootloader mode

Post by ovin08 »

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

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
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 :/

User avatar
danhalbert
 
Posts: 4613
Joined: Tue Aug 08, 2017 12:37 pm

Re: QT Py boards only going to bootloader mode

Post by danhalbert »

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.

Locked
Please be positive and constructive with your questions and comments.

Return to “Adafruit CircuitPython”