gadgeteer cellular radio module


I bought a cellular radio for the gadgeteer. I am able to send commands to the module and register in the network and make calls and sms, however I am unable to get any data back from the module. I can’t check for any status, pull messages, answer a call, etc. I can only send commands, never receive. I have debugged this on the software level for a long time and believe this to be a defective unit. any help would be appreciated

Dear customer,

In our driver demo code, there are include all of function what you need.

Just in gray word, it was commented out. You only go to light up and increase with it that should be work.

How about you attach your code here that we can give you more suggestion.
Or you also can give us more detail.

Best regards,


Hi Yuri,

I am aware the sample driver comes with this functionality. It does not work for me. I can still send, but no data gets sent from the cellular module to the mainboard. See below for code and an example:


    public partial class Program
        void ProgramStarted()
            // Initialize GTM.Modules and event handlers here.		
            cellularRadio = new GTM.Seeed.CellularRadio(6);

            joystick = new GTM.GHIElectronics.Joystick(14);
            // Do one-time tasks here
            Debug.Print("Program Started");

            cellularRadio.DebugPrintEnabled = true;

            cellularRadio.PinStateRetrieved += new CellularRadio.PinStateRetrievedHandler(cellularRadio_PinStateRetrieved);
            cellularRadio.GsmNetworkRegistrationChanged +=new CellularRadio.GsmNetworkRegistrationChangedHandler(cellularRadio_GsmNetworkRegistrationChanged); 
            cellularRadio.OperatorRetrieved += new CellularRadio.OperatorRetrievedHandler(cellularRadio_OperatorRetrieved);
            cellularRadio.ModuleInitialized += new CellularRadio.ModuleInitializedHandler(cellularRadio_ModuleInitialized);
            joystick.JoystickPressed += new Joystick.JoystickEventHandler(joystick_JoystickPressed);

        void cellularRadio_GsmNetworkRegistrationChanged(CellularRadio sender, CellularRadio.NetworkRegistrationState networkState)
            Debug.Print("NetworkRegistration: " + (CellularRadio.NetworkRegistrationState)networkState);

        void cellularRadio_OperatorRetrieved(CellularRadio sender, string operatorName)
            if (operatorName != null)
                Debug.Print("OPERATOR: " + operatorName);
                Debug.Print("NO OPERATOR WAS FOUND");

        void cellularRadio_PinStateRetrieved(CellularRadio sender, CellularRadio.PINState pinState)
            Debug.Print("PIN: " + pinState);

        void cellularRadio_ModuleInitialized(CellularRadio sender)
            Debug.Print("MODULE INITIALIZED");

        void cellularRadio_NoCarrierEvent(CellularRadio sender)
            Debug.Print("NO CARRIER EVENT");

        void joystick_JoystickPressed(Joystick sender, Joystick.JoystickState state)
            Debug.Print("BUTTON BEGIN"); 
             * PIN Event Test

             * Network Event Test

             * SMS Test
            Debug.Print("SendSms Returned: " + cellularRadio.SendSms("13104026294", "THIS IS A TEST OF THE EMERGENCY BROADCAST SYSTEM"));

            Debug.Print("BUTTON END");

Debug output of code:

As you can see, none of the events ever get triggered. Not the pin state, or the gsm network registration or even module initialized. Those never trigger but my SMS is still successfully sent.

I debugged the driver to find the cause of this, and I put some breakpoints inside the run() function. See code below

serialLine.BytesToRead is never above 0! I cannot read ANY data from the serialLine.

Hope that helps