MAX3421E successful design experience needed

I currently need someone who has designed and prototyped boards that involve the MAX3421E USB host IC.
I'm in the process of designing a board that incorporates this IC and need some consulting service from someone with working experience and working part numbers (digikey/mouser) for crystals and caps. Whatever I'm using isn't working. The rest of the board works without an issue. I suspect it was crystal but have tried a few different ones. While I'm reflowing more board with different crystals/caps I'd like some help.

Interested qualified designers please PM me with a short description of your experience with this IC and a photo of working prototype. Payment is discussed prior to consulting. Thanks.

I looked at two USB host shields I got from amazon with a loupe and checked with my multimeter. The two pads on their 4-pad crystals are actually connected to GND. I don’t know if that makes enough difference. Mine aren’t grounded. My other crystals for 328 and 32u4 aren’t grounded either. Some crystals say just 12.000MHz and another one says 20pF on it, apparently over the 18pF max from spec sheet. Also the same shield has 18pF markings for coupling caps, which is also at the spec’s limit. Yet they just work! Sparkfun’s usb host shield’s crystal pads aren’t grounded.

Maybe I got a bad max3421e. I’ll definitely reflow another board.

To ground or not to ground ... that's in the datasheet of the crystal, or better in the application notes. BTW, crystals with 4 pins or oszillator with 4 pins?

zwieblum:
To ground or not to ground … that’s in the datasheet of the crystal, or better in the application notes. BTW, crystals with 4 pins or oszillator with 4 pins?

Crystals with 4 SMD pads. At least one crystal spec sheet recommends grounding the empty pads.
I did a number of experiments with a working USB host shield. I first replaced its crystal with one of mine. Shield still worked. I then replaced its coupling caps with mine, still working. Finally I replaced its MAX3421E with mine, still worked. So it seems that I have the right parts. I suspect something on my PCB design caused my prototype to not work.

What about posting your design?

I can only share this much on the forum. See attachment.

I have 328 talking with max3421e. Both are 3.3V logic. 328 tests out fine, spi communication is fine. It’s just the max, it never reports crystal oscillator working.

Thinking that my traces to the crystal and caps are thin, I attached tiny wires between X0 and X1 on max and the caps to increase trace thickness. That still didn’t work. I can only get die revision read correctly. All oscillator ready interrupt reads are zeros. Max responds with status byte in every read command though. So when spi long test begins, the byte read back is different from the byte written. When 328 writes 1, it reads back a 0. Test fails.

If interested, please PM. Thanks.

on your pcb the 2 capacitors next to the oscillators are not connected to ground. the vias to the C's are way too long. is there aground layer around the oscillator?
EDIT: old school problem shooting was: use sligtly different C's. a bit lower capacity, a bit higher, depending on the parasitic C's on the pcb.

Thanks. Sorry I forgot to do ratsnet. Here is a better version. The caps are indeed grounded. The thick wire on top is 5V. I could reflow another board with minimal components and a different cap value, say 15pF. Thing is, the other designs of usb host shield I found are so simple and some have crazy wires running around but they all work (I hope). My circuit has an ESP32 and atmega 32u4 on the left, USB port, sd card, RTC, buzzer, etc. Everything else works except for this host IC’s oscillator. I’m pulling my hair out!

That's what I would do, just try some different vaues of C and look which combination actually works.
Forgot: you could also transplant C+oscillator from a known working setup.

I have a working usb host shield. I removed its crystal, replaced with mine. Shield worked. I replaced its caps with mine. Shield worked. I replaced the max IC with mine, shield still worked.

With my board, I replaced caps, crystal, and max IC. Still no go. I think it's beyond parts. Parts seem to work on the shield I bought and transplanted my parts on. :sob:

Make the wires from oszillator to C's shorter and make them of same length. Look at your bought pcbs: the wires should be shorter.

Yes, thanks I’ve just made that change in my new board, from 0.006" to 0.01". I’ll get them printed and hopefully they will work.

Something just doesn't make sense. I cut the trace from XI to the crystal so I can feed a 12MHz signal from ESP32 to XI. Signal looks alright on scope, not exactly square but frequency is good. Still the oscillator interrupt won't assert. I'll borrow a signal generator to do a nice 12MHz square wave next time. This got to work but isn't. Very strange with this board. I borrowed design from sparkfun.

I appreciate you may have been over this already, but I'll throw it out there just in case:

A common issue folks have with the Sparkfun shield is the MAX3412E reset pin being fed, through the hex level converter, to digital pin 7. If pin 7 isn't set to a defined level, then the reset pin can float and cause resetting and, indirectly, apparent oscillator issues. I understand that SPI appears to work to some extent on your board, but this may be misleading.

I wish I knew this beforehand! I got it resolved two days ago. It's holiday where I live :slight_smile:
It turned out to be a combination of things. When things didn't work, I did add pin commands to set reset to output and toggle it hoping to see it work but it didn't. I'll have to trace back when I did that, with my original crystal that was out of the spec, I guess.

Issues:

  1. Didn't assert RESET with output
  2. Used a crystal that was out of spec in terms of max power and series resistance
  3. Traces were long and thin

I didn't know I could do all the surgeries that I did to my prototype such as soldering caps directly to crystal and soldering tiny wires to those crystal pins. I also replaced all essential parts on a working usb host shield with mine to prove that my parts work.

I don't wish to criticize sparkfun for doing this but there has been instances when I used sparkfun's design or parts and they were incorrect. So be very careful with these free designs. You don't know the part numbers they use, which is essential to a successful product.

hai,
i tried to interface pic and max3421e, but spi communication is not successful. i am not able to read any data . i didnt get any value on MISO line , i checked this line using DSO and Picoscope. i can see the data on MOSI ,sclk and ss on DSO as well as picoscope

shekhashoukath:
hai,
i tried to interface pic and max3421e, but spi communication is not successful. i am not able to read any data . i didnt get any value on MISO line , i checked this line using DSO and Picoscope. i can see the data on MOSI ,sclk and ss on DSO as well as picoscope

Have you asserted the reset pin? Besides a chip enable, the max3421e also has a reset that depending on what dev board you're using, may or may not have a pullup resistor to assert it. In my experience, you send stuff to it on SPI and it should return something, not nothing.