Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 21 of 21

Thread: Custom Teensy LC with MK02 accepts bootloader but no USB

  1. #1
    Junior Member
    Join Date
    Oct 2014
    Posts
    14

    Custom Teensy LC with MK02 accepts bootloader but no USB

    Hi Everyone,

    I am attempting my first custom Teensy. In this case, I am using an MKL26Z64VFT4 just like the Teensy LC, instead of the 3.1 (which is what I see people debugging most often on the forums).

    I have been able to get to the point where I can see the MK02 sending signals to the MKL26 followed by the oscillator booting up. However, I don't see anything on the USB lines. When I inspect them with an oscilloscope I see almost nothing. There is a little bit of deterministic noise (as if singnals are coupling into the USB lines) but no external signals to the Teensy are moving at all.

    Things I have examined:
    - I am using an external regulator so VREGIN is tied to VDD (there is no VBATT pin on the LC).
    - The oscillator has no switching signals crossing under it. I could improve the ground ring slightly but the osc. running.
    - I have tried powering this from a bench power supply with al of the other high-power components removed.
    - I have manually gone through the pinouts to make sure signals are connected properly on the board.
    - I have checked for shorts and open pins and everything is checking out.

    I have attached my schematics and board layout. I would appreciate it if anyone has any ideas about what to try next.

    Thanks,

    Joe

    Click image for larger version. 

Name:	Screen Shot 2017-02-06 at 6.34.41 PM.png 
Views:	125 
Size:	100.7 KB 
ID:	9625communicator.pdfClick image for larger version. 

Name:	Screen Shot 2017-02-06 at 6.37.08 PM.png 
Views:	135 
Size:	59.5 KB 
ID:	9627

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Always a first check... when you hold Program low, does the MKL02 hold Reset low? (not 0.1V to 0.2V due to the chip watchdog repeatedly rebooting, but 100% low)

  3. #3
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Thanks for the quick reply Paul,

    Yes, the RESET pin gets pulled down to 2mV.

  4. #4
    Junior Member
    Join Date
    Sep 2016
    Posts
    4
    I saw your project on Hackaday and thought I would mention it here in case it gets buried in the comments. In the photos it looks like you have a short on the processor side of your two 33 ohm resistors for your usb data lines. you might take a look at that with an ohm meter.

  5. #5
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Yes, I did have a short in that photo (good eye!!). The short was fixed before posting here. The USB data lines get initialized to a differential value (one is high and the other is low) after the bootloader does it's magic. I jsut don't see any toggling on them.

  6. #6
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Is the USB connector's ground pin connected? I see traces going to only 3 of the 5 pins.

  7. #7
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Yes, there is a GND copper pour that is hidden in the picture which connects to the bottom pin and the chasis of the conenctor. The ID pin is floating.

  8. #8
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Here's a picture of the board with the Grounds poured, it makes other signals harder to see but the ground connections are now visible
    Click image for larger version. 

Name:	Screen Shot 2017-02-21 at 5.31.27 PM.png 
Views:	70 
Size:	149.5 KB 
ID:	9778

  9. #9
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Looks like we're not seeing whatever's wrong from only these diagrams.

    Don't know if good photos of the actual build would be any better, but maybe worth a try?

  10. #10
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Sure, it's totally worth a try. Here are some photos of the board at different angles. The gray wire is bypassing the battery charger and connecting VUSB directly to the input of the 3.3V switching regulator.

    Click image for larger version. 

Name:	20170222_181718.jpg 
Views:	64 
Size:	137.5 KB 
ID:	9796Click image for larger version. 

Name:	20170222_181704.jpg 
Views:	71 
Size:	162.6 KB 
ID:	9797Click image for larger version. 

Name:	20170222_181709.jpg 
Views:	59 
Size:	115.1 KB 
ID:	9798Click image for larger version. 

Name:	20170222_181723.jpg 
Views:	64 
Size:	169.7 KB 
ID:	9799Click image for larger version. 

Name:	20170222_181752.jpg 
Views:	62 
Size:	147.9 KB 
ID:	9800Click image for larger version. 

Name:	20170222_181854.jpg 
Views:	63 
Size:	167.7 KB 
ID:	9801Click image for larger version. 

Name:	20170222_181905.jpg 
Views:	63 
Size:	189.7 KB 
ID:	9802Click image for larger version. 

Name:	20170222_181922.jpg 
Views:	67 
Size:	215.5 KB 
ID:	9803

  11. #11
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Just looked it over again. Sure seems like it ought to work.

    Maybe something's just not soldered quite right? Those pads under the chips look like they come very close to the pins. Did you get any solder mask between the pad & pins? Perhaps one or more pins could be shorted to ground underneath either chip?

  12. #12
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    OMG I found it!!! Thanks for the tip Paul. There were no ground shorts, but probing EVERYTHING helped me find a MISSING TRACE on one of the usb signals. The board had a trace jsut deleted from it! UGH! I must have hit the delete key jsut before saving the board.

    A little blue-wire and an exacto knife and it's alive now!!

    Click image for larger version. 

Name:	Screen Shot 2017-02-23 at 5.38.32 PM.png 
Views:	63 
Size:	85.6 KB 
ID:	9812

  13. #13
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Wow, glad you found it.

    I added a mention of this on the troublehshooting list. Maybe it'll help others someday?

    I personally don't use Eagle, but I'm curious if it has an electrical connectivity check? The ancient version of pads does. Just curious if there's some sort of a software-based check possible to run in Eagle? Maybe something more specific to recommend for the future??

  14. #14
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Quote Originally Posted by PaulStoffregen View Post
    I'm curious if it has an electrical connectivity check?
    Yes, it has ERC and DRC. I believe they do check for unrouted wires. I think what happened was I ran the checks, they passed. I then accidently hit the delete key while that wire was selected. Then I saved. That's the only way to explain it I think.

  15. #15
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Do you still have the file with the deleted wire?

    Is there any step-by-step ERC guidance we could give people using Eagle, to run on their files after their board is made but not working, which could catch this specific type of mistake? Or exclude this type of mistake from the list of mysterious reasons their board isn't working?

    I personally don't use Eagle, so I'm depending on those to do for any insights that might help others in the future when struggling to troubleshoot their custom boards.

  16. #16
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    I just checked the ERC (and DRC) tool on the old PCB file and it did NOT find the error.
    I think it would be good to know how to find this type of air-wire error in Eagle.
    I'm attaching the board and schematic files in case it helps anyone find a solution to this.
    bad_board.zip

  17. #17
    Senior Member HWGuy's Avatar
    Join Date
    Nov 2012
    Posts
    261
    Open the board window, go to Tools -> Statistic... and search for "unroutet (airwire)"

    Last edited by HWGuy; 03-01-2017 at 05:37 AM.

  18. #18
    Junior Member
    Join Date
    Oct 2014
    Posts
    14
    Thanks HWGuy, It's a bit surprising that Eagle doesn't have a better sign-off mode for this. I will be sure to add this to my sign-off procedure for now on.

  19. #19
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    @HWGuy - Yes, awesome screenshot!

    I've added 'In Eagle, use Tools > Statistic... and search for "unroutet (airwire)".' to the MKL02 page troubleshooting tip (which also links to this thread). Next time this happens, hopefully it'll save someone else time & troubleshooting frustration.

    Does anyone know if Kicad has a similar feature? Such as "To check in Kicad, click {fill in this blank}"...

  20. #20
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    15,711
    Also, just wanna say this is a pretty awesome project and I'm really looking forward to seeing a video it in action....

    https://hackaday.io/project/19700-st...unicator-badge

  21. #21
    Senior Member HWGuy's Avatar
    Join Date
    Nov 2012
    Posts
    261
    Just FYI, there is a simpler solution to detect missing wires ("airwires") in Eagle.

    Click on the Ratsnest button and the status bar shows the total number of remaining air wires.

    Click image for larger version. 

Name:	hm2YJkr.png 
Views:	54 
Size:	18.1 KB 
ID:	10310

    Nichts zu tun = nothing to do
    1 Luftlinien = 1 airwires

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •