Got my little USB bridge board powered up for the first time

Oct 16, 2026 Last reply: 2 hours ago 3 Replies
Jump to replies (3)

Spent last night bringing up my FPGA USB bridge dongle and I'm still a bit giddy that it basicly works. Hand-soldered the big chip under a cheap hot air gun, held my breath, plugged it in, and the power LED came on with no magic smoke. First try. I fully expected to spend the weekend chasing a short.



The slow USB port enumerated right away, which was a relief since I'd guessed on some of the wiring there. The fast link took more patience. It would connect but drop out after a few seconds of heavy traffic. Turned out I'd left one of my configuration jumpers in the wrong spot, so the chip was running off a dirty clock source. Moved the jumper and it's been solid for an hour of file transfers now. Still to do: finish the small adapter boards that plug onto the edge connectors, and clean up the labeling before I share the design files. Also need to figure out why the second port refuses to work in gadget mode, but that's a problem for next weekend.


Congrats on first try, that's rare. My bring-up was on a Cypress FX3 based board a couple years back and I also escaped the magic smoke, though not the debugging. Hand-soldering that fine pitch BGA under a cheap hot air station scared me enought that I did three practice runs on scrap boards first. Plenty of flux and patience got it done, no rework needed in the end. Your clock issue sounds familiar. Mine whould link up fine then fall over under sustained transfers, and I chased it for two weeks before I realized my crystal placement was the problem. I had routed it way over on the far side of the board to keep it away from the switching regulator, and the long traces were picking up noise. Moving it close to the chip and adding a guard ground around it fixed the drops completley. So if the jumper swap ever stops being enough, look at where your clock source physically sits on the board.

For the port that won't do gadget mode, check the controller side too, not just the bridge chip. I burned a weekend assuming my PHY was the issue when the microcontroller downstream of it simply didn't support peripheral mode on that paticular port. Read the errata sheet, mine had a whole section on it I'd skipped. Also try it on a Linux box with a USB analyzer app before you blame your own layout, the host stack can be picky about descriptors in ways Windows quietly tolerates.

On the gadget mode thing, I chased something similar on my own build last year. One port would talk fine as a host but stubbornly refused to show up as a device on the PC side no matter what I did in the config. Turned out the controller I picked only supports peripheral mode on one of its two ports, and the datasheet buried that in a footnote on page 40-something. Worth checking whether yours is even wired for it before you burn a weekend on it. The other thing that bit me was the ID pin. I had it floating, and the chip kept guessing wrong about which role it should be in. A 10k pull to ground fixed it. Before that I was convinced my firmware was broken and recompiled it maybe a dozen times for nothing. Also, on the labeling, don't skimp on it like I did. I have three boards sitting in a drawer right now that I can't tell apart, all minor revisions of each other, and I genuinely don't remember which one has the fixed ground plane. Silkscreen everthing, even the stuff you think you'll remember.

Cool to see someone doing the big chip at home. I tried soldering one of those tiny-legged chips with a regular iron once and ended up with solder blobs connecting half the legs togehter. Took forever to clean up with the braided wick stuff. How do you even tell if the heat got under the chip enough, or do you just cross your fingers and plug it in like you did? Also curious what you use for the labels on the board, mine always end up smudged.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required