ITSY BITSY M0 - BOOT device not enumerating - sometimes.

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
tedfinch
 
Posts: 70
Joined: Thu Apr 26, 2018 10:02 am

ITSY BITSY M0 - BOOT device not enumerating - sometimes.

Post by tedfinch »

I have code to force an M0 into Bootloader Mode when a command is sent to the M0 via the Serial USB port. If the M0 is free standing and just connected to the USB cable then the BOOT drive appears on Windows and a firmware upgrade is possible using a UF2 image.

However for my project I have a circuit board with IB M0 , DS3231, SX1509 expander for a keypad and a MAX98357A I2S breakout board. A second IB M0 drives a dot matrix display.
( As you might guess this is a display clock with RTC, keypad and sound!)

One objective was to enable firmware upgrade without dismantling the case and removing the M0 board.

If the M0 is on the circuit board it responds to the Upload command by going into BootLoader mode ( fading Led) but the BOOT device does not show up on Windows explorer and Device Manager shows a USB device with a Yellow !. I get the same outcome if I double press the reset button.

My conclusion is that mounting on the PCB is interfering with the USB enumeration process.

Can you suggest some tests that may help me isolate the problem?
Thanks
Ted

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by adafruit_support_mike »

Post a photo showing your hardware and connections and we'll take a look. 800x600 images usually work best.

User avatar
tedfinch
 
Posts: 70
Joined: Thu Apr 26, 2018 10:02 am

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by tedfinch »

I attach 3 files.
1 PCB in situ.
2 Serial reply when Upload Command is sent
3 Explorer which has kindly enumerated the ITSYBOOT drive ready for a UF2 file today.

Yesterday it did not work. Today it does.


What is different today - I secured the PCB in the case and re attached the ribbon cable when I had done that.

Any thoughts?
Ted

This reminds me of the JAPANESE HAIKU VERSE error messages from way back.:

> ------------------------------------------
>
> Yesterday it is not working.
> Today it worked.
> Windows is like that.
>
> ------------------------------------------

see the fact check here: https://www.snopes.com/fact-check/haiku-error-messages/
Attachments
Explorer & ITSYBOOT.pdf
(14.13 KiB) Downloaded 8 times
Upload Reply.pdf
(49.56 KiB) Downloaded 8 times
IB M0 on PCB.pdf
(439.19 KiB) Downloaded 7 times

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by adafruit_support_mike »

How are you making the USB connection to the Feather M0, and what are you using as a power source?

User avatar
tedfinch
 
Posts: 70
Joined: Thu Apr 26, 2018 10:02 am

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by tedfinch »

Power is from 5v lithium battery
Usb can be seen in document. Connector on bulkhead to added plug to board.

Soldering the small Usb plug is tricky.

Ted

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by adafruit_support_mike »

Hmm.. try using a different USB cable and see if that has any effect.

USB signals are fast enough that the cable is a component, and cables aren't all made the same way. Sometimes you get one that interacts with a board in a way that causes problems.

User avatar
tedfinch
 
Posts: 70
Joined: Thu Apr 26, 2018 10:02 am

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by tedfinch »

OK
Thanks for the advice. And I suppose that each connector in line can create a weak point.
Cheers
Ted

User avatar
adafruit_support_mike
 
Posts: 67485
Joined: Thu Feb 11, 2010 2:51 pm

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by adafruit_support_mike »

Changes of impedance are a bigger problem.

Electrical signals moving through wire obey the same math as waves moving through water. That includes reflecting off of sudden changes in the wave's ability to keep moving forward. In high-frequency work it's called 'scattering', but the effect is the same: some of the signals energy keeps moving forward, some of it goes back the way it came.

If conditions are just right, you can get resonant waves, reflections bouncing back and forth several times before dying out, and so on. Those signals get added to the signal you wanted to send in the first place, and can turn communication protocols into gibberish.

User avatar
tedfinch
 
Posts: 70
Joined: Thu Apr 26, 2018 10:02 am

Re: ITSY BITSY M0 - BOOT device not enumerating - sometimes

Post by tedfinch »

Anything to avoid the gibberish!

I can focus on the USB signal path. With the M0 in a case there has to be a two stage solution. M0->Case->PC. So two cables and two connections.

Thanks for the observations.

Ted

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

Return to “Itsy Bitsy Boards”