GSM access to the internet


I want to know whether is it possible to use your FEZ Spider Mainboard, with your Celular Radio Module (GSM module) to get access to the internet or no? I dont want to use Wifi. I Want to use a mobile communication system to get access to the internet without cables.

My other idea is, when this is not possible, is it possible to use your USB module and connect a UMTS stick on it and to create a software to get access to the internet via this UTMS stick on your USB module?


Here’s some info on the Cellular module: and more specifically:

Please correct me if I’m wrong, but going through the documents I believe it’s not possible to get “normal” internet access with the module (no socket connection). For a “data” connection you can send an AT command to the module to connect to an IP address / port and then channel all data from the mainboard to the module over serial connection. The module will then forward the data to the IP address / port. Data returns in the same way. Over IP to the module and over serial from the module to the mainboard.

Also note that it’s only GPRS (2G), and not UMTS (3G).

Hm ok, I will take a look, but seems to be not really easy isnt it? And yeah the rate of the sending and receiveing date is not good enough to send maybe a livestream? So whats with the other idea? Away from the idea with the GSM module. Use a FEZ Spider with a USB module and a simple UMTS Stick. So I have to get access over Gadgeteer to the USB module and make a software to connect to the internet via a UMTS stick. Maybe better idea?


The Gadgeteer driver for the USB Host module only recognizes USB HID and Mass Storage devices (Webcam also possible).

It’s possible to talk to the USB UMTS stick from NETMF code, but it won’t be an easy task if you want the standard socket connections. Take a look at the USBHostController class here:

[italic]There are several USB drivers supported, for example, mass storage devices, mice, printers… If a driver is not available, you can use USBH_RawDevice access but this requires knowledge of USB specifications.
The following drivers are supported:
[ulist]USB Hub
Mass Storage (Thumb drives, Hard Disks…etc), see notes below.
USB-To-Serial FTDI
USB-To-Serial Prolific
USB-To-Serial SiLabs
USB-To-Serial Communication Device Class (CDC) modem
USB Host access on low level[/ulist]

Maybe Gus can tell us if an UMTS “Network” module is on “The List”.

Don’t know your budget, but if you want “easy” UMTS access from your Gadgeteer board you can also use a standard ethernet module and hook it up to a UMTS router.

The last one sounds great but its to heavy weight :). And yeah a little bit about my budget. But thx, maybe I will take a look at the USBH_RawDevice class and the specifications. In the mouse example it doesnt seems to much what I should learn. Very thx. Is it right that the USBH_Device / USBH_RawDevice developed from GHI? So its not already there in the normally .netmf? The GHIElectronics .netmf will extends the .netmf right? Correct me if I write trash :).

Best regards

Along the same idea that MischaBoender had would be to use a tavel 3g / 4g router that can accept a USB modem and connect the router to an ethernet module that is attached to the gadgeteer. Here is an example router:

and then you will need a USB modem that is compatible with the router. here is an example list for the above metnioned router:

there are other companies that make 3g / 4g routers and modems. I have used a cradelpoint router in the past and was very happy with it.

The USBHostController class is indeed developed by GHI and extends the core NETMF framework.

A “consumer” 3G router where aquaseal is referring to is also an option, but maybe a bit to big for .NETMF projects. I’ve been using a FritzBox with VoIP for quit some time. At home it’s connected to my VDSL and when on holiday it’s connected to a USB modem. Always funny to pick up my landline when on holiday.


To access modems you need PPP feature which supported with EMX (FEZ Spider core). The PP feature works with Modems through serial ports or through USB devices that simulates serial ports like (USB 2 serial or USB CDC class devices). So if the USB modem supports CDC class then it will most likely work with FEZ Spider. I am not sure about your USB modem.

But Why not just use the cellular radio module made for .NET Gadgteer?

Thx joe but sry, I dont want to get access to a modem what is here in my room. I want to get access to the internet via a Mobile communication system like GSM or UMTS. Like a smarthphone does but I dont want to connect a smartphone on the device. I want a good rate to send/receive data from simple commands or a videostream. I dont want a big device, for that what I want, I need a lightweight device. So I will take a look forward to maybe make a driver for a UMTS Stick to get access to the internet. Maybe a UMTS driver is planned at your developers?


Modem is a broad term that applies on dial-up modems and GSM GPRS 3G modem. the 3G USB stick is a modem too.

Here is an old video that uses 3G modem to stream video from an IP camera to Embedded Master Dev Sys (uses the same core of FEZ Spider):

It is not what you are trying to accomplish but it might give you an idea. about what I mean.

Ok thx. The video looks great and yeah its ok but on my thinking, my camera should on the device with the module to access to the internet. On the device I will make a little socket (server) and on my pc I will get access to this server over the internet and make a softwareclient to got the livestream. But I think I will try the UMTS part so I have to write an driver for the USB module.

Dear MischaBoender:

Could you please provides an example for you mentions below?
Or where can I find the example code for this purpose ?
What you said is my desire purpose.But I can’t find an example to start.

[For a “data” connection you can send an AT command to the module to connect to an IP address / port and then channel all data from the mainboard to the module over serial connection. The module will then forward the data to the IP address / port.]

Dear Joe:

For cellular radio module, when GHI will release the complete driver and usage examples?
I think many users need it.

The Cellular module is made by Seeed Studio. I think they got a beta driver.

Sorry, no examples jet, I got the info from the PDF documention on the chip. Maybe in a few weeks I have some example code, the Cellular module is in order.

would that cellular module be compatible with the Hydra or the Spider? I’ve seen the drivers on the seed site, would it be a case of adding them to the Hydra firmware if I wanted to use that module, perhaps you could provide some details on how to get started with that?

Both the Spider and Hydra mainboards have a K sockets, so the Cellular module should work on them. No need to add it to the firmware, module drivers are seperated from mainboard firmware.

I have no “getting started” info, but my Cellular radio is flying somewhere over the Atlantic Ocean, so maybe in 1 or 2 weeks I have some example code to share.

really!!, so i’ve downloaded the drivers from the seed site, but (even though I’m probably being really stupid), surely the main board needs the drivers ‘on board’ to be able to run the module after the solution is deployed to the board

@ michael - If the required socket is supported, it just works. You have to install the Seeed module code on your PC. There is an installer for that. Then you drag the module into the designer window. They should appear in the VS toolbox after the install. When you do that the necessary references are added to your project automatically. These do get deployed to the mainboard. The module object also gets automatically created when you connect it in the designer. the object should be named something very obvious.

Pretty much plug and play, although since this is a new platform everything is not perfect. That’s why we have this forum - to collectively help squash any bugs that made it past manufacturer testing.

[edit] a read through the module design guidelines on will give you all the details about how this works.