Go Down

Topic: discussion on supporting the TI CC3000 WiFi module (Read 60880 times) previous topic - next topic

TheCon



Going forward, my immediate priority will be to port the firmware upgrade code to Arduino because that will be of most use to most people.



Yes please! Adafruit's library depends on the CC3000 having a certain firmware version (the newest one I believe), so if we had a way to update to that without buying an msp430, that would be spectacular. I actually asked adafruit about this and they said they don't have any kind of support for updating the firmware onboard the module.

wkt

I tested the Adafruit library on my diy board, and it works, about the fw check that the make, i just comment it out and compiled the buildtest.ino with success. I have fw 1.10 and they require 1.13 i think, in my opinion the newest fw is not mandatory, it's strange that they check for exact match checkFirmwareVersion() != 0x113, maybe a "use our products with our software" thing.

Board looking good @magagna. I ordered a new module from TI (hopefully newer fw) and i will make another breakout myself, i plan to make it smaller and include a voltage regulator on board. The board i have right now is a single sided modification of the one from centerblack.com, and the angled positioning takes space that can otherwise be reduced.

I will do more testing as the Adafruit library also doesn't have UDP support at the moment, and try to implement the code i was posting previously with this library. It seems that TCP packets are working as they are able to query a website.

TheCon

Hmm, their library wasn't fully working for me. I connected to the network fine, the DNS lookup checked out, but the test page never actually printed to the screen. This is all after I commented out the piece of code that checks the firmware version. I assumed that the issue was because of the firmware mismatch...

marco26

#108
Aug 14, 2013, 10:07 pm Last Edit: Aug 14, 2013, 10:12 pm by marco26 Reason: 1
I received my Adafruit board ! I made some initial tests, all the example code is working without problems. I just have one performance problem: when trying to connect to a server with TCP and doing a GET request, the performances are bad. This is what I measured:

- Connect: 200 ms
- Send the request: about 5 seconds
- Read the answer: about 3 seconds

Anybody have the same problem ? It actually doesn't really depends on which server I am connecting to, I also tried to connect on a local server running on my laptop and it is the same.

I am also thinking about making my own breakout board, just one question: how did you solder the CC3000 chip to the board ? Did you do it by hand ? Thanks !

wkt

For soldering you need a hot air station as the pads are underneath the module.
I made another quick test today, it seems that the Adafruit library is more stable about the SPI interface timing, i manage to run my Arduino board at 3V3 and had no problems initializing the module.

marco26

Great ! I will produce some breakout boards and test that.

In the meantime, anyone can comment on the performances issues ? I just tried doing the same TCP requests with my computer, it is 20x faster than the CC3000 chip ... Does anybody else has performances problems with the chip ?

magagna

Quote

I am also thinking about making my own breakout board, just one question: how did you solder the CC3000 chip to the board ? Did you do it by hand ? Thanks !


I used solder paste and my toaster oven. The CC3000 module's connections are on the bottom so direct soldering with an iron isn't possible.

There's a couple of examples on the web of people who have dead bugged the module but I have not tried it.
http://en.wiktionary.org/wiki/magagna <-- My last name.  Pretty apt.

wkt

@marco26 Paste some sample code and i will try it. Be sure to check for delays in the code and remove them.

marco26

It is basically the code provided with the Adafruit CC3000 library. The code is really long, but you can find it here:

https://github.com/adafruit/Adafruit_CC3000_Library/tree/master/examples/WebClient

KwameOA


Hmm, their library wasn't fully working for me. I connected to the network fine, the DNS lookup checked out, but the test page never actually printed to the screen.


I'm having the same problem. The library compiles and runs fine on both the evaluation module from TI as well as the actual adafruit breakout board, but it never actually puts anything to the screen. When I run the 'buildtest' example, it lists the IP for adafruit as 0.0.0.0 seeing as its not working even with the actual adafruit breakout board, maybe it's not a hardware problem but maybe some setting on the network I'm trying to connect to?

TheCon

For me it does find the correct IP address, but it never actually prints anything out (not even the test page that is default for the example).

magagna


For me it does find the correct IP address, but it never actually prints anything out (not even the test page that is default for the example).


I've been doing some tests today.

I have the same problem as you with my homemade board (firmware 1.10). The AdaFruit board and the TI CC3000EM board (both firmware 1.19) work fine, so my guess is AF's library doesn't work that well with the older firmware -- probably why some of their example code specifically tests for firmware rev.
http://en.wiktionary.org/wiki/magagna <-- My last name.  Pretty apt.

TheCon



I've been doing some tests today.

I have the same problem as you with my homemade board (firmware 1.10). The AdaFruit board and the TI CC3000EM board (both firmware 1.19) work fine, so my guess is AF's library doesn't work that well with the older firmware -- probably why some of their example code specifically tests for firmware rev.



Precisely what I have been thinking, I am on 1.10 as well. Seems as if you have some firmware updater porting to do :D

wkt

#118
Aug 20, 2013, 03:35 pm Last Edit: Aug 25, 2013, 04:19 pm by wkt Reason: 1
Same problem here with fw 1.10, i thought that the latest module i got will have the newest firmware.
I saw that you can use a MSP430 launchpad as a programmer, i have one so i will try that.

Edit: I realised i need msp430g2553 instead of msp430g2231 that i have now.

Valkyrie-MT


These are both very informative documents on the use of termination resistors:

http://www.ti.com/lit/an/scaa045a/scaa045a.pdf

http://www.fairchildsemi.com/an/AN/AN-610.pdf

My circuit did not work with the CC3000 until I installed a thevenin termination scheme...


Can you elaborate on what you did here?  My cc3000 is connected to an STM32F405 ARM processor and it occasionally seems to get garbage over SPI.  The cc3000 did not work at all until I put 75 ohm resistors in series on the CLK, MOSI, and MISO.  But, I want it to be 100% reliable. 

Go Up