New Netduino.IP hybrid stack for TI CC3100 Wi-Fi chip! - Netduino.IP Technical Preview - Netduino Forums
   
Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

New Netduino.IP hybrid stack for TI CC3100 Wi-Fi chip!


  • Please log in to reply
12 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 30 April 2015 - 04:43 AM

Over the years we have received a lot of requests for Wi-Fi support.

So this last year we have been working with Texas Instruments to natively support their new world-class Wi-Fi networking chip, the CC3100.
http://www.ti.com/ww...-fi/cc3100.html

[Yes, there is some new hardware being announced shortly, featuring this chip.]

We have built a hybrid Netduino.IP stack for the TI CC3100 Wi-Fi chip, integrated into System.Net.Sockets. And SslStream (yes, it supports SSL/TLS 1.2 as well).

Source code be found here:
https://github.com/n...duino.IP_CC3100

We will be assimilating this code back into the Netduino.IP core over time. For now, because we will need to update and enhance the special hybrid build, we have created it as a distinct repository.

Chris

#2 xmen

xmen

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts

Posted 30 April 2015 - 08:27 AM

This is just amazing. Built-in WiFi support exactly what I wanted. Lots of questions and feature requests. But most important is can gobus ports allow to have more IO pins ?



#3 Nevyn

Nevyn

    Advanced Member

  • Members
  • PipPipPip
  • 1072 posts
  • LocationNorth Yorkshire, UK

Posted 30 April 2015 - 11:28 AM

This is just amazing. Built-in WiFi support exactly what I wanted. Lots of questions and feature requests. But most important is can gobus ports allow to have more IO pins ?

There are already modules which have been discussed which add additional IO pins to the Netduino Go, see these posts:

 

DigiIO

 

OutputExpander

 

If the Go Bus on the Netduino Go is compatible then I'd have thought these would work.

 

Hope this helps,

Mark


To be or not to be = 0xFF

 

Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life

Follow @nevynuk on Twitter


#4 Joshk

Joshk

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts

Posted 30 April 2015 - 03:13 PM

I just spotted the new design.  Very cool.  But will this thing have access-point capabilities?  I don't have a router where I use mine, I need a tablet to connect TO the Netduino.



#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 30 April 2015 - 04:03 PM

Hi xmen,

This is just amazing. Built-in WiFi support exactly what I wanted. Lots of questions and feature requests. But most important is can gobus ports allow to have more IO pins ?

As Nevyn alluded: yes :)

One caveat: we're moving very rapidly from GoBus 1.0 to 1.5, so the initial release of the 4.3.2 firmware (beta 1 for Netduino Go, 4.3.2 for other boards) does not support the virtual I/O features of Shield Base (beta). We will be pulling back in support for that virtual I/O shortly as we finish a few more tests.

Chris

#6 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 30 April 2015 - 04:05 PM

Hi Joshk,

I just spotted the new design.  Very cool.  But will this thing have access-point capabilities?  I don't have a router where I use mine, I need to tablet to connect TO the Netduino.

The driver is set up to use the CC3100 chip in station mode, but the CC3100 does support being an access point for one device. It would take a few hours to tweak the firmware to your liking to enable AP functionality, and if it's a heavily-requested feature we could make that an officially-supported option as well.
[ All the source is here: enjoy the freedom of open source :) ]

Chris

#7 Joshk

Joshk

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts

Posted 30 April 2015 - 04:08 PM

I had a typo, yes I just need one tablet to connect.  Unfortunately I will probably need to wait for someone smarter than me to get it working :(



#8 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 30 April 2015 - 06:06 PM

One more cool thing... The CC3100 driver even has the ability to upgrade the CC3100 chip to the latest firmware :)

We actually do this on the production line (for Netduino 3 Wi-Fi), and firmware upgrades can happen manually or automatically in-field as well.

Here is a quick snapshot from the reflashing procedure (from the Output window).

*** Version info before upgrade ***
ChipID: 0x4000000
fwVersion: 1.2.0.2
phyVersion: 1.0.3.23
nwpVersion: 2.2.0.1
romVersion: 13107

Creating service pack file.
Writing service pack at offset: 0
Writing service pack at offset: 1024
Writing service pack at offset: 2048
Writing service pack at offset: 3072
Writing service pack at offset: 4096
Writing service pack at offset: 5120
Writing service pack at offset: 6144
Writing service pack at offset: 7168
Writing service pack at offset: 8192
Writing service pack at offset: 9216
Closing service pack file.
Service pack successfully written.

*** Version info after upgrade ***
fwVersion: 1.3.0.1


If you want to verify the Wi-Fi firmware on your board is up to date, you can actually call into the upgrade function via reflection like this:

Type.GetType("Netduino.IP.LinkLayers.CC3100SocketNative, Netduino.IP.LinkLayers.CC3100").GetMethod("UpgradeFirmware", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static).Invoke(null, new object[] { });


Since we can automatically upgrade CC3100 firmware in code (during radio initialization) there's no technical reason you need to do this manually...but I thought you guys would enjoy this deeper detail.

Chris

#9 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 30 April 2015 - 09:20 PM

That's interesting, on the cc3100 boosterpack, one need an extra board to upgrade firmware, but on this board one doesn't need that?


--
Asbjørn


#10 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 30 April 2015 - 09:31 PM

That's interesting, on the cc3100 boosterpack, one need an extra board to upgrade firmware, but on this board one doesn't need that?

Nope, you're good to go. On Netduino 3 Wi-Fi, we actually wired up both SPI and UART to the CC3100. We have power management, reset support, and more. And of course your MFDeploy network config settings just work.

When we build platforms, we tend to be thorough; we believe in building high-quality, well-engineered gear.

Chris

#11 xmen

xmen

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts

Posted 02 May 2015 - 03:12 AM

Hi Joshk,
The driver is set up to use the CC3100 chip in station mode, but the CC3100 does support being an access point for one device. It would take a few hours to tweak the firmware to your liking to enable AP functionality, and if it's a heavily-requested feature we could make that an officially-supported option as well.
[ All the source is here: enjoy the freedom of open source :) ]

Chris

For me, I need AP functionality more. It would be nice, if we can initialize the WiFi with its settings, either be an AP or connect to a router without changing the firmware. Please do add option for it.

 

Also, is it possible to use "STM32F4 Discovery" chip in Netduino 3 ? That would be just awesome. Please take a look once.

 

Thank you



#12 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 02 May 2015 - 03:16 AM

Hi xmen,

For me, I need AP functionality more. It would be nice, if we can initialize the WiFi with its settings, either be an AP or connect to a router without changing the firmware. Please do add option for it.


Noted. If we enabled the AP feature as an option in the root Netduino 3 Wi-Fi firmware, it would be an AP for one device (so you could easily connect a device _to_ the Netduino 3 Wi-Fi). Would that be super-interesting to a lot of you?

Also, is it possible to use "STM32F4 Discovery" chip in Netduino 3 ? That would be just awesome. Please take a look once.


Even better: we're using the brand new STM32F427VI Rev 3 chip from ST on Netduino 3 Wi-Fi. With 2MB flash (dual-bank) and 256KB RAM. :) http://www.netduino.com/netduino3wifi/

Chris

#13 xmen

xmen

    Advanced Member

  • Members
  • PipPipPip
  • 72 posts

Posted 02 May 2015 - 03:20 AM

Noted. If we enabled the AP feature as an option in the root Netduino 3 Wi-Fi firmware, it would be an AP for one device (so you could easily connect a device _to_ the Netduino 3 Wi-Fi). Would that be super-interesting to a lot of you?

Thank you :D
 

Even better: we're using the brand new STM32F427VI Rev 3 chip from ST on Netduino 3 Wi-Fi. With 2MB flash (dual-bank) and 256KB RAM. :) http://www.netduino.com/netduino3wifi/

This is just getting better and more better :D






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.