Netduino home hardware projects downloads community

Jump to content


Photo

Spark Core (TI CC3000) Porting for Super WiFI Mini?

CW2 Ziggurat29

  • Please log in to reply
256 replies to this topic

#1 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 20 June 2013 - 07:56 PM

At the suggestion of hanzibal I am starting a new thread to prompt a dialog relative to porting the Micro Framework to the Spark Core WiFi module. The links to the Spark Core are in this thread (#4),

http://forums.netdui...ini/#entry50655

 

This is a quote from the comments on the Kickstarter site:

 

"The I/O is 5V tolerant, with the exception of a couple of pins;
we'll publish pin mapping so you can see which is which. We have
one I2C, one UART, and one SPI interface available. The
resolution of analog I/O is 12-bit. If you want to do bare
metal programming, you're free to; Wiring/Arduino is just a
set of libraries that you can choose to use or not."

 

The important and complete hardware stuff is in the github zip. They are using a STM32F103CBT6. The SPI interface to the CC3000 is apparently non-trivial,

http://forum.arduino...&topic=164007.0

So, the question for the porting experts is: Do you think it is feasible to port the Micro Framework to the Spark Core?

 



#2 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 21 June 2013 - 12:24 AM

that stm32 has 128k flash, and 20k ram, and apparently netmf needs 256/64 min:

http://en.wikipedia....Micro_Framework

pity that they couldn't have splurged another $3 for an F415 (well the package is bigger, but for a dev board why not have more power?)

 

Have to look at that wifi module though, a good bit cheaper than the roving networks ones...



#3 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 21 June 2013 - 05:15 AM

I was afraid that the STM32 was too small. It looks like the only way to use it with the Micro framework is to setup a an Arduino command processor on the Spark Core and talk to it through the UART. Perhaps we can entice Secret labs to build a 2nd generation Mini around the design on Github. I guess the other alternative is to use the CC3000 directly, but it seems frightfully difficult to port the TI SPI driver over to the MF.  

 



#4 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 21 June 2013 - 12:12 PM

well, if the goal is 'use the spark core' then you probably are out-of-luck for netmf directly, as you point out.  but if the goal is 'make a new hardware', then it should be easier, because you can put in a better processor.  the package of the 415 is 64 pin, and spark core's is 48, so you might have some placement challenges, but I think the mini is already using a 64 pin device, so it should be doable.

 

if you talk to it through a uart, that kinda loses the benefit of spi, right?  I haven't looked at the datasheet, but now I'm curious about the difficulty you mention.  From the outside, it looked like it presented a high-level interface to networking; i.e. it has its own tcp/ip stack, and works similar to how many of the shields work.  In a way this might make integraiton easier.  Well let me rephrase that; it would make integration easier except for the fact that lwip/enc38j60 is already integrated, and what can be easier that work already done?  So it requires positive, non-zero, effort, but probably would reduce the code footprint a bunch.

 

Hmm.  now I'm curious.  I wonder if someone has a cc3000 on a breakout board....  I don't know how digikey is selling them for 12.50 when others (e.g. mouser) are selling them for about double that.  Maybe they have a special deal with ti...



#5 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 21 June 2013 - 03:17 PM

I got one and I think baxter has one too. Mine is this one:

http://www.lsr.com/d...ts/330-0086.pdf

What do you need to know?

Too bad there's no F4 in 48 pin package. I don't really see the point in talking to the Spark Core over UART, there are simpler and/or cheaper ways of doing that:
http://imall.iteadst...m130522001.html

#6 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 21 June 2013 - 04:07 PM

...
http://www.lsr.com/d...ts/330-0086.pdf

What do you need to know?...

 

hmm, could be usable for development at least.  won't win any 'sexy dev board of the month' contests, but hey its a dev board.

 

I was needing software info, but I found these two that should give me enough reading for today:

http://processors.wi...Interface_(SPI)
http://processors.wi...ogramming_Guide
 

at the outset it might be too much for a managed 'driver'.  well maybe.  maybe not!  I say this only because its' interrupt driven and I was concerned about latency, but then if it's handling the network stack, then it is also handling acks and retries so the host may be able to be more leisurely about servicing requests.

 

 

...Too bad there's no F4 in 48 pin package....

 

well the current mini uses a 64-pin package does it not?  anyway I know the various ghi boards in dip form factors do, so it should be doable from a layout perspective.

 

OK well hmm I may have to carve out some time this summer.  I am currently distracted trying to port an RTOS to the NP2, and ultimately port netmf on top of the RTOS, but that could take a while (if it even works out), and I may need a distraction from my distraction.  Plus, this wifi capability is germane to some paid work I'm doing, so maybe I can fold it in that way....

 

Thanks for the links!

 

-dave

ps hanzibal, I have been meaning to do your oscilloscope art, but I haven't been able to get to it yet, haha

ps baxter, I have always been envious of your avatar -- it reminds me of Lord Melchett from Blackadder, and consequently when I read your posts it is always in that character's voice, haha



#7 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 21 June 2013 - 06:20 PM

It's good to see some dialog going on here. There are a couple of driver references on GitHub

https://github.com/p...tree/master/src

and,

http://www.sharebrai...for-10-dollars/
https://github.com/s...lpc11u/firmware

and here is a University of Utah project,

http://wiesel.ece.ut...cts/wilock/wiki

 

The CC3000 is cheap enough, but there are no non-mounted CC3000 hobbyist breakout boards to use it.
TI is very explicit about the layout for RF performance and heat dissipation,

http://www.ti.com/li...331/swru331.pdf

Hack a Day highlighted a breakout board, but it had a number of negative comments from RF engineers,

http://hackaday.com/...tiny-wifi-chip/

An Eagle derivative board is here,

http://www.centerblack.com/

A further difficulty is that the chip is not hand soldering friendly, but that can be overcome with skillet/hotplate reflow.

 

The first step, however, is a port of the driver to the Micro Framework. My skills with c and c++ are so rusty as to
be nonexistent.

edit:

dave, The avatar is Ptolemy representing a vague reference to my background in astrodynamics and orbit determination. It does in no way reflect my wisdom in the area of electronics.



#8 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 22 June 2013 - 02:07 PM

OK, well it will probably a a couple weeks before I can fiddle with it.  Too bad centerblack doesn't have spares of his breakout board, I'd rather than than the gauche TI dev board, but I did order one.  Digikey thanks you, at least; haha.



#9 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 22 June 2013 - 10:03 PM

hmm, could be usable for development at least.  won't win any 'sexy dev board of the month' contests, but hey its a dev board.

It's much smaller than it looks but it's abviously designed as an add-on for some TI general eval platform. You only need to connect SPI bus, power, gnd and the enable pin so it's quite simple.

...at the outset it might be too much for a managed 'driver'.  well maybe.  maybe not!  I say this only because its' interrupt driven and I was concerned about latency, but then if it's handling the network stack, then it is also handling acks and retries so the host may be able to be more leisurely about servicing requests.

Exactly, the module handles most or all of the protocol level stuff internally so I'd expect a managed driver to perform ok or at least better than any UART based module.  

...anyway I know the various ghi boards in dip form factors do, so it should be doable from a layout perspective.

Yes, I have a couple of those boards and as I recall, the design makes pretty good use of the PCB space as it is bit I suppose one could always add a couple of layers.

...ps hanzibal, I have been meaning to do your oscilloscope art, but I haven't been able to get to it yet, haha

I can imagine you'd display graphics or even video ;-)

#10 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 23 June 2013 - 06:09 PM

I decided to make a breakout from the centerblack design http://www.centerblack.com/. I simply submmited the the Eagle .brd file to OSH PARK and after processing it for a while they presented a response for approval that I cast to the attached PDF file. All-in-all, a pleasant experience compared with other board houses with Gerbers et al. The boards turned out to be 1.17 x1.17 inch, min. order 3 for a total price of $6.85. It looks like one can make a breakout for the order of $20:

 

OSH Park board (1.17 x1.17 inch) $2.28 (min 3 @$6.85)

Digikey 296-35512-1-ND CC3000 $12.51

Digikey 712-1403-1-ND chip antenna 2500AT44M0400E $1.35

plus discretes and shipping.

Attached Files



#11 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 23 June 2013 - 09:49 PM

A $20 wifi board is great value, especially for a single unit!



#12 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 24 June 2013 - 05:40 PM

let us know how it goes; I could have had 2.5 for the price of 1 relative to the behemoth TI board I got!  Maybe I should get a couple myself....

EDIT:  my eval board arrived, so maybe 3-4 days from now I can carve out some time to at least solder on some pin headers and try out the SPI a little.

EDIT2:  well, the existing holes for headers are not on .1" pitch for common snappable headers; blick.  well, I suppose I can jury-rig something, I only need 8 points, I think...



#13 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 27 June 2013 - 08:31 PM

Thought I would give an update on my experiences with the CC3000; not pleasant at all. I received my Wi-Fi CC3000 BoosterPack and MSP430 LaunchPad Bundle so I installed all of the software. Can't connect at all. It appears to me that TI has messed up their software packages. The following message was sent to TI support which outlines the problem. I alluded to the fantasy that evaluation was for >1000 units production to hopefully get their attention, but if they do reply i will probably have to deal with a Rep. on the phone at some point ... blah

 

Msg:

https://www.dropbox....9vjs/rJbyCNk-0O

 

EDIT:

OSH PARK boards ordered Sat. 22nd, sent to fab Mon., 24th. You can't beat this kind of service for $6.85 for three boards.



#14 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 27 June 2013 - 08:48 PM

Sorry to hear that, have you tried the Texas E2E community?

 

They are very helpful and you usually get help directly from TI employees working within the very field in question. At one point they even called me on the phone and that without me having pretended to be a big shot with 1k+ units planned for production  ;)



#15 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 27 June 2013 - 11:12 PM

Just went to TI E2E forum to post my tale of woe and found this, "CC3000 + STM32F4", http://e2e.ti.com/su...1/t/264163.aspx It might be worth following.  



#16 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 28 June 2013 - 02:08 PM

well I soldered on some pin headers ('custom made' since they are on an unusual 2mm pitch).  we'll see if I can get something to go over the spi; maybe there's a 'version' command or something similar....



#17 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 29 June 2013 - 12:15 AM

Exactly, why on earth did they choose to add custom headers with 2mm pitch as an alternative to the special headers already being odd? I'll give it a try too, using SPI bit banging of my very own USB board as to challenge you all in this quest for fame and glory. Saddle up there, oh bretheren fore once again we shall ride blindly (and stupidly) into the unknown.

#18 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 29 June 2013 - 12:15 AM

Darn, I managed to submit twice so please disregard of this post.

#19 baxter

baxter

    Advanced Member

  • Members
  • PipPipPip
  • 415 posts

Posted 29 June 2013 - 02:04 AM

Looks like someone got the CC3000 working with Arduino (4 days ago),

http://hackaday.com/...gets-a-library/

https://github.com/c...a/ArduinoCC3000

From the main sketch, ArduinoCC3000.ino, it seems that there is a simple version command.

 

The code size they mention is about the same size as I was getting with the Basic WiFI Application on the MSP430 (~10k and ~100 bytes). I am going to give up on the MSP430 and follow in your footsteps.

 

EDIT: Follow bugs, problems here http://forum.arduino...topic=164007.30



#20 hanzibal

hanzibal

    Advanced Member

  • Members
  • PipPipPip
  • 1287 posts
  • LocationSweden

Posted 29 June 2013 - 04:16 AM

I think I just fried mine  :mellow: Seems pwr_en is ground and it's supposed to be an input...






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.