Cellular Modem library development

[Update: Apr-17-2012]

I have a working library for initializing AT-command compatible modems for TCP/IP over cellular.


Protocols: TCP and UDP (both work)

Mode: Transparent Bridge

Rate: 57600 baud

GCS tested: MP and QGCS

HW: APM1 tested, (APM2 testing soon)

Modems Tested: DroneCell (SIM900D module) and Arduino GSM Shield (SIM900 module)

Development continues...

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • It would be possible using this module to work but not using internet? Do a data call from computer to ardupilot and uses COM port from computer side to communicate to COM apm internal port.

    I had some research but not find something, INMO this way is safer than exposing drone whole internet.

  • Any further Dev on this?

  • Does anyone know where I can find the code and hex files for Drone Cell / APM 2.5 for Ardu Rover?

    Thank you


  • Søren kuula : nice work, did you consider to get it inegrated to Pixhawk and/or added to the master git ?

    • Also, I can compile Søren Kuulas ardupilot-MobileTelemetry APMrover2, but when compiling his Ardupilot I get this error message; 

      avrdude: verification error, first mismatch at byte 0x3e000
      0x91 != 0x0d
      avrdude: verification error; content mismatch

      Can someone help me with this? I can compile the lastest original code, both i Arduino and Mission planner.

  • For the moment I just want to make it work. I have not done much programming, so I am totally black here. I do fly a lot though, so I'd be happy to beta test whatever needed. 

    This code that Kuula linked to, is this something "everybody" is working together on or is there multible solutions been made with regards to the dronecell?

  • Hi Søren Kuula! I have downloaded the dongfang mobile telemetry branch and compile with success the Ardu plane (V2.76). Is there a readme or a procedure to follow to get me all the way there? 

    I have located the Uart2 on my APM 2.6, and solders pins to it. RX, TX and GND. I have also set my Dronecell to 57600 bps (Dronecell replys OK when AT, and I have made calls to and from it). Do I need to setup the SIM card details somewhere in the code? And also input a IP address, so i can connect to it from my mission planner?

    Sorry for the stupid questions. I am an eager FPV flyer, but new to the APM and Dronecell.

    Thanks for any help!

  • This has been dead for a while. Does anyone know where I can find the latest version of the library. I just got a DroneCell and Arduino Cellular Shield so I'd like to test them with APM 2 for telemetry data. 


  • Hi,

    It sounds great with a library!

    I was also developing one. Maybe you can help me decide whether I should continue that work, if you can tell me:

    •  Does you code initialize the modem (SIM900) up to having a connection automatically?
    •  Does it end up in a deadlock state ever? Among other cases if:
    1. Initializing the modem and then cycling APM power off and back on
    2. Initializing the APM and then cycling modem power off and back on
    3. Getting out of and back into mobile coverage
    • Does it support SMS commands? I thought of some like "SMS me your position", "Goto WP #n", "Come home" etc. in case GPRS but not GSM is lost

    To me, the most important is prevention of deadlocks.



  • Andreas, have you tried to read/write many waypoints throught GPRS connection?

    I used Siemens TC65 modem for GPRS connection and have good connection at 4800 baud rate slightly decreased some of the data rates in Mission Planner. If I choose higher rate the modem may hang up in several minutes.

    But when I try to write or read waypoints using GPRS I usually get an time out error or sometimes other errors. Also reading WP is more faulty than writing. Does anybody faced the same problem?

This reply was deleted.