Double-checking schematics. Found a 1.2 V power pin on chip was connected to the 1.5 V line. ⚡💥 🔥

Found another bug. The chip is in SOT-23-5 but I used a VSSOP-8. It's a bit confusing when 10 variations of the same chip share a single datasheet...

Keep checking the schematics. Found another 3.3 V signal line was pulled up to 5 V... ⚡💥 🔥

Just found a big DC-bias problem (who knows the Type-C mux has special DC-bias requirement on the USB SuperSpeed lines...) in the circuit before the board even arrives... :oh_no: Theoretically it should still work if I'm lucky enough, but unlikely. But I don't think ordering a new board right now is a good idea, perhaps I'll discover more bugs even on a nonfunctional board, better to wait and see.

Every circuit board automatically looks better when immersion gold is used, even if the layout sucks, like mine...

The idea of ordering a frameless stencil cut to the exact size of the board wasn't good at all, it's impossible to properly apply solder paste. One needs at least a few centimeters of margins for your hands/tapes/tools on... Have to reorder a standard stencil, $10 lesson learned...

QFN reflow soldering was a spectacular success, best joints I've ever seen. Unfortunately the first circuit board revision itself is doomed to failure due to multiple bugs in the design.

USB controller read the first byte from the blank EEPROM then immediately crashed. I actually thought it would read more bytes before it crashes... But not a bad sign, it means the controller is running.

EEPROM programmed. Now the USB controller seems to run firmware without problems, but the downstream USB load switch refuses to turn on. Looks like a GPIO / high-impedance / pull-up / pull-down problem, need to capture the power-on waveforms by soldering some jumpers to the board... What a pain, I really need to get some good SMD test clips and probe holders...

I knew most probe holders are outrageously expensive and there must be some "makeshift" versions that cost less. What I didn't expect is that all of those cheap ones are all marketed for hacking ECUs on cars. Apparently car modding is a big enough thing to give vendors an incentive to sell cheap probe holders for that. I guess they can be pretty useful for signals below 10 MHz.

Power-on waveforms captured. The /ENABLE signal is definitely floating, gives nothing but a smooth RC discharge, no doubts it doesn't work...

ProTip (ProbeTip?): See a TO-220 voltage regulator, a good spot to clip your test probe on, right? NEVER do this, especially, never clip on the tab or clip the probe from the back side. The plastic tip of your probe will be melted and destroyed after a while...

Soldered a pull-down resistor, the USB controller starts working. 🎉 But as expected, the USB 3 SuperSpeed line doesn't work due to a known bug. Time to do board v2.

The pinout of this chip is just evil, the two outputs are sandwiched between three inputs and it's impossible to bring them out without changing layers...

I've been thinking about it since yesterday: jumping a high-speed signal over an obstacle without vias is a common problem, so there MUST be somebody who makes an expensive & fancy component that solves exactly this problem, a high-tech jumper link for RF signals with impedance control. Yes it exists, it's called an "RF-RF crossover".

Oscilloscope probe holders arrived. Debugging should be less painful now...

Another stupid mistake: selected an ancient 4016 analog switch as a bus multiplexer - the HCMOS version has 150 MHz bandwidth and available in SMD packages, old but not a problem right? Then started wondering why does my clock signal look like a sine wave... 74HC4016's on resistance is 100 Ω+, larger R in R x C = rise time degradation, Electricity 101 :doge:

New layout completed. Signals flow better than the old layout.

Circuit board arrived tonight. Aligning the stencil and accurately placing the seven QFN chips with 0.4 mm pin pitch (two controllers, five ESD protectors) is the most stressful step, but now they all have been soldered onto the board, time to take a break before doing "Manual Optical Inspection" and soldering the rest of the board tomorrow.

Damn, I forgot to buy the 100K 0402 resistors, the circuit board is unusable for today. :blobfacepalm: Just panic-ordered one roll from a local vendor, it should arrive by tomorrow, the shipping fee is 20x more expensive than the resistors... Always check your BOM right after you ordered the circuit board! Also, when ordering SMD resistors, double check to make sure you don't accidentally order the 4-in-1 resistor arrays (don't ask me how I know) ...

Another SNAFU - I added four "fiducials" to make it easier to align the stencil by hand and ordered the board with a stencil, but the CAM engineers at the factory silently deleted them! :oh_no: Normally they are correct - real fiducials are used by the computer for placing components onto the board, not for stencil printing, but it's not the case for me... Lesson learned: always select the "manual confirmation" option if you're doing anything unusual.

I think my circuit board can officially win the Fediverse stupid of the month award - the wires on my USB 3.0 connector footprint are ALL CROSSED, it should be 987654321, but I made it 123456789. The board is completely unusable. :doge:

VL670 development board design is now public. This is a ASIC that magically converts a USB 2.0 device to a USB 3.0 device, bypassing the signaling and bandwidth limitations of a USB 2.0 port. notabug.org/niconiconi/vl670

The next stage of my project is 3.0 galvanic isolation, the VL670 ASIC helps avoiding the implementation of USB 2.0 isolation, which is actually much more difficult than USB 3.0.

This is really strange. I found myself was working on exactly the same thing as whitequark [0] and marcan42 [1], all of us found the documentation and hardware around the same time. What a surreal situation. I may as well admit defeat, quit, and mail my chips to marcan42 instead... I guess it's time to setup a Twitter keyword alert and talk more openly about unfinished projects.

[0] twitter.com/whitequark/status/

[1] twitter.com/marcan42/status/13

50 chips arrived in the package today, now started working on VL671. Looks highly compatible with VL670 and I can reuse the existing PCB without waiting for a new one for 10 days, neat. All I need is patching the LED signal.

Success! VL671 works flawlessly on the existing VL670 board. I think I need to mail this board to whitequark too.

The accurate way to test a crystal oscillator's frequency error: use a non-contact electric field probe to minimize loading error, and use a spectrum analyzer with a crystal oven frequency standard.

VIA Labs' USB ASICs are so cursed... Yesterday I got a mail from someone who will pay me to get the VL671 chip working. I said I can answer questions but don't accept offers - the chip is also a blackbox to me! Call VIA tech support if it's urgent.

The reply: AFAIK, all VLI chips in the past two years don't have any application engineers or tech support. Why? No chips, first-tier authorized distributors no longer accept any order, and no order = no support. All the chips currently on the market are sold by resellers. If you want to use them, you have to do the tinkering by yourself...:blobfacepalm:

The chip shortage is insane...

Follow

The simplest circuit board I ever ordered - USB inrush current test board. Only a shunt resistor for current sensing, nothing else.

Q: If I made a stupid mistake and it doesn't work, what should I say?
A: It makes no sense.

· · Web · 1 · 1 · 6

Strange. I could see a huge spike from the VBUS capacitors, but couldn't observe any current spike from the on-die LDO or DCDC converter startup. It probably means the chip is better than I thought and already has a soft start feature built into it, good news.

Sign in to participate in the conversation
Cybrespace

cybrespace: the social hub of the information superhighway jack in to the mastodon fediverse today and surf the dataflow through our cybrepunk, slightly glitchy web portal support us on patreon or liberapay!