This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3000 Minimal Module Design

I'm trying to make a wifi module so I copied the Adafruit CC3000 breakout board and removed the regulator and voltage level change logic because I already have 3.3v signals from a Kinetis K10 processor. It goes through power up fine but on the first spi write the CC3000 is not writing the expected data on the MISO line.  It consistently writes the data in parens:

W:01(02) 00(04) 05(08) 00(10)
W:00(20) 01(40) 00(80) 40(80) 01(20) 00(81)

And I never get an IRQ low after this.

Any ideas on what could be wrong and how to troubleshoot this issue?

I'll be releasing this design to the public domain so I don't mind attaching it now (a broken preliminary version - let us learn together). Here's the link to what I tried to copy and simplify:

https://github.com/adafruit/Adafruit-CC3000-Breakout-PCB

Btw, I use these boards from Adafruit to verify my host driver - and it works great with that board - I just supply 3.3v on that pin and leave the VIN pin (5V) unconnected.

Roger

2086.CRI_CC3000.brd

0523.CRI_CC3000.sch

  • Could you please post images of the schematic and board design? Your files don't work with the software I use (DesignSpark) and I don't want to download and install something else.

  • Here you go in .pdf - thanks!

    3288.CRI_CC3000_brd.pdf

    0317.CRI_CC3000_sch.pdf

    I know this is not to recommended layout - I need to increase size of VBAT trace and add a lot of ground vias.

  • A quick look-over, don't see any issues with the schematic (as long as there are polygon fills that complete the ground circuits).

    Can you better explain what you wrote about the first SPI write?

    "W:01(02) 00(04) 05(08) 00(10)
    W:00(20) 01(40) 00(80) 40(80) 01(20) 00(81)"

    Is the CC3k sending back data on the MISO line while you are still in the middle of sending the initial HCI_CMND_SIMPLE_LINK_START?

  • Yes, the values in parens are the miso data during the first write and it is not the expected 02 00 FF 00 ... That is expected.
  • Hi Roger,


    In terms of Wi-Fi performance your design will not perform very well. The values of the RF components of 10pF, 2.2pF and 2.2nH are calculated for the CC3000BOOST's PCB. If the length of your waveguide is different, then new values need to be calculated. Unfortunately this requires software such as AnTune and the use of a Vector Network Analyzer (VNA) which is a very expensive device. However there are labs that will rent one to you by the hour. But you will also need to do some reading on RF PCB design.

    My advice to you is to copy exactly the RF PCB layout of the CC3000BOOST board if you are designing a 2-layer board or the CC3000EM if you are going with 4 layers. These two boards have excellent Wi-Fi performance. But you need to copy it down to the mil, otherwise the performance will be inferior. This is not just theory - I am telling you this from personal experience.

  • Ivor,

    Thank you so much; you answered the question I didn't ask but should have.

    Roger

  • I updated the design to more faithfully copy the Adafruit design and it did fix all non-RF functionality.  Now the SPI comms look normal. I don't know what changed fixed it, but I increased the width of some traces and added a bunch of ground vias. I was not expecting those changes to make a difference but they did.

    But as Ivor predicted, the performance of the RF is so poor that it cannot connect to the AP in the same room. It does detect several SSIDs when it scans.  Does that mean rx might be working better than tx?

    I did verify that my RF design seems to be a perfect copy of the Adafruit design that works for me. But maybe they use a different stackup that matches - don't have any specs on that.

    In any case this leaves the RF performance still to be solved. I'll open a new thread if there is anything new to ask or report about that.