Like that this one and the Sparkfun one have extra two posts to secure it to PCB. Most don't seem to have that feature.
Maybe it's overkill with four through feet that are soldered to ground.
Probably should research this a bit more to find a layout that works with connectors from multiple vendors...
These are some I found when searching lcsc for longer-pin length USB-C parts, with 5A ratings - rare, but they do exist.
I think all USB-c cables must have D+ and D- on them, so don’t think it’s the cable.
Digikey connector pinout matches the Sparkfun one, so that’s not it…
Have you got a laser cutter ?
I've been known to use a thick stock of regular copier paper (200g - 250g sort of range), and cut a stencil with LightBurn.
Usually good for 4 or 5 PCBs. Also super handy when you need to stencil one part on a busy board.
That’s a very interesting idea. Got laser engraver that might work. Thinking about getting laser for home cnc.
Actually, maybe our shapeoko cnc would do it on metal.
Strange thing is the board powers up with usb connected. Not sure how this is even possible as needs signal from ftdi chip to activate power…. Something strange going on…
Another board done.
This one tops out at 335 MHz with VGA test at room temp.
After a minute in freezer can start up at 350 MHz.
Not exactly what was hoping for. Still could be statistically an improvement, have to make some more to tell.
USB-C still not working even with Sparkfun connector.
This is a real mystery now as this was pretty much a copy and paste job...
Really do want to see now if increasing Vdd from 1.8V to 2.0V makes a difference.
PCs do stuff like that to overclock and don't think I'd be opposed...
@Rayman said:
Another board done.
This one tops out at 335 MHz with VGA test at room temp.
After a minute in freezer can start up at 350 MHz.
Not exactly what was hoping for.
Could this be solder related? Ie. Do you have enough under the P2 to create a consistent and even bond to the thermal pad. Even when accounting for solder that might be flowing into vias/pads under the chip, it would still be important to ensure no air gaps, voids, etc..
Oh, I think it just sunk in for me. You actually want to be using blind vias for the I/O to the second top layer. This eliminates the ring of top to bottom I/O vias that are currently forming a ruinous thermal barrier on the bottom of the PCB. It's important for the bottom layer, as a minimum, to be an unbroken copper plane in all directions spreading the heat from the thermal pad.
PS: I've just learnt that what I thought was a blind via is actually called a buried via. You want to avoid doing buried vias.
A blind via connecting the top layer to the second top, or bottom layer to the second bottom, is usually the easiest type of blind via to manufacture. You shouldn't have any issues/complaints with 4-layer manufacturing when utilising this restricted form of blind via.
@evanh said:
Oh, I think it just sunk in for me. You actually want to be using blind vias for the I/O to the second top layer. This eliminates the ring of top to bottom I/O vias that are currently forming a ruinous thermal barrier on the bottom of the PCB.
Hell yeah. Through vias for all those IOs would totally limit the thermal performance, and add extra little stubs for each signal too.
Is there a photo of the PCB bottom somewhere, or a link to gerbers?
-- Getting >320MHz for a good while, without the full thermal plane, is a very good indication.
It'd be nice if there were a table of P2 clock mode settings for different clock frequencies, to make it easy to change at runtime...
Couldn't find one, so made this little one here for seeing if changing clock at runtime gives any different result than at startup (doesn't seem to).
repeat p from 0 to 13
repeat 10
ser.tx(".")
waitms(200)
ser.tx(13)
f:=long[@freq_mode][p*2+0]
m:=long[@freq_mode][p*2+1]
ser.str(@"Next: ")
ser.dec(f)
ser.str(@", ")
ser.hex(m)
ser.tx(13)
waitms(200)
clkset(m,f)
ser.start(63,62, 0,115200*2)
ser.tx("*")
ser.tx(13)
DAT
freq_mode
long 300_000_000, $1000EFB
long 310_000_000, $1041EFB
long 320_000_000, $1000FFB
long 330_000_000, $10420FB
long 335_000_000, $10C42FB
long 340_000_000, $10010FB
long 345_000_000, $10C44FB
long 350_000_000, $10422FB
long 355_000_000, $10C46FB
long 360_000_000, $10011FB
long 365_000_000, $10C48FB
long 370_000_000, $10424FB
long 375_000_000, $10C4AFB
long 380_000_000, $10012FB
Comments
These are some I found when searching lcsc for longer-pin length USB-C parts, with 5A ratings - rare, but they do exist.
2105281035_XUNPU-TYPEC-304J-BCP16_C2835315_USB-C_5A_2mm_LongPins_18c
2405131627_G-Switch-GT-USB-7010C_C2843967_USB-C_5A_16p_1p4mm_9p6c
2204071430_G-Switch-GT-USB-9010AB_C2988366_USB-C_5A_16p_1p4mm_Blue_13c
Got p2, usb, and power done.
Power works.
USB doesn’t work and haven’t figured out why yet…
I think all USB-c cables must have D+ and D- on them, so don’t think it’s the cable.
Digikey connector pinout matches the Sparkfun one, so that’s not it…
I’ll try hot wiring in prop plug tomorrow
That’s a very interesting idea. Got laser engraver that might work. Thinking about getting laser for home cnc.
Actually, maybe our shapeoko cnc would do it on metal.
But, actual stencil comes Monday
Many USB-C connectors are power only ?
Data sheet says has data.
Do have 3.3v on D+ and 0 v on D-, which looks right.
I think USB-C needs some resistors to setup the port. Your schematic had them as R6/R7 - did you fit these resistors yet?
5.1 k resistors are there
Strange thing is the board powers up with usb connected. Not sure how this is even possible as needs signal from ftdi chip to activate power…. Something strange going on…
Polyfuse is okay? You could bypass it to see if that makes a difference perhaps.
Perfect! That's a nice looking board BTW.
Added a new thread here with the laser cut paper stencil specs: https://forums.parallax.com/discussion/176032/laser-cut-paper-stencil
Must not understand something about how this USB-C cable or connector works...
Jumpered over from USB micro-B connector and it works.
Speed test with VGA code shows solid loads at 355 MHz and 50/50 at 360 MHz.
This is there with the best of mine, but not better.
If the others match it, will be very happy.
Any of them only get 320 MHz, like the worst of mine, then have to think about things...
Have you tried just checking that all the pins are actually making connection to the other end of the cable? Might have swapped D+/D-....
Maybe possible that this connector has d reversed from the sparkfun one?
Thought was same, have to check…
Have you connected both D+ / D- pairs? Otherwise, just turn the USB plug 180°.
Tried that, but it's rigged to work either way.
Both Sparkfun and Digikey pinouts appear identical.
But, the Sparkfun ones get delivered today. I'll try another board with that one...
Another board done.
This one tops out at 335 MHz with VGA test at room temp.
After a minute in freezer can start up at 350 MHz.
Not exactly what was hoping for. Still could be statistically an improvement, have to make some more to tell.
USB-C still not working even with Sparkfun connector.
This is a real mystery now as this was pretty much a copy and paste job...
Really do want to see now if increasing Vdd from 1.8V to 2.0V makes a difference.
PCs do stuff like that to overclock and don't think I'd be opposed...
Ray what 1.8v regulator did you use? Do you have a lab supply you can use to feed voltage in even with the regulator in place?
That’s the plan….
Probably try it on an old board first
Thanks for the idea, btw
I did see a sparkfun comment that usb-a to usb-c cables might not work and you want usb-c to usb-c.
That might be a no go…
Not even sure have one of those
Have you tried out more than one USB cable? Maybe just a bad cable...?
One of these might be useful for debugging USB signals..or two to buzz out cables to see which wires are present etc.
https://www.aliexpress.com/item/1005004161500755.html
Used on that use for Oculus so know it works. But that may have been on usb 3.0 port…
Could this be solder related? Ie. Do you have enough under the P2 to create a consistent and even bond to the thermal pad. Even when accounting for solder that might be flowing into vias/pads under the chip, it would still be important to ensure no air gaps, voids, etc..
Oh, I think it just sunk in for me. You actually want to be using blind vias for the I/O to the second top layer. This eliminates the ring of top to bottom I/O vias that are currently forming a ruinous thermal barrier on the bottom of the PCB. It's important for the bottom layer, as a minimum, to be an unbroken copper plane in all directions spreading the heat from the thermal pad.
PS: I've just learnt that what I thought was a blind via is actually called a buried via. You want to avoid doing buried vias.
A blind via connecting the top layer to the second top, or bottom layer to the second bottom, is usually the easiest type of blind via to manufacture. You shouldn't have any issues/complaints with 4-layer manufacturing when utilising this restricted form of blind via.
Hell yeah. Through vias for all those IOs would totally limit the thermal performance, and add extra little stubs for each signal too.
Is there a photo of the PCB bottom somewhere, or a link to gerbers?
-- Getting >320MHz for a good while, without the full thermal plane, is a very good indication.
There is this - https://forums.parallax.com/discussion/comment/1562864/#Comment_1562864
It's not detailed enough to see the break in the copper plane at the I/O vias but, from other conversations, I deduce that that will be the case.
Thanks evan. Yeah, that wouldn't be ideal if those are through the bottom layer.
USB-C mystery solved. Seems due to not having a stencil...
Used air gun and pressure to secure jack with pads preloaded with solder and flux.
But, for whatever reason wasn't quite connected...
Hit with soldering iron tip and all better now.
Whew, that was messing me up...
It'd be nice if there were a table of P2 clock mode settings for different clock frequencies, to make it easy to change at runtime...
Couldn't find one, so made this little one here for seeing if changing clock at runtime gives any different result than at startup (doesn't seem to).
Tried upping Vdd to 2.0 V on an old board. It worked! Top speed increased from 230 to 250 MHz.
Then, tried 2.2 V and things went south. Seems broke something inside P2...
Or, maybe not... Something strange going on... Still works at 1.8V. Have to try again...