Cheap And Easy SMS Via GSM For Your MCU

Non acronym version of the title: send and receive text messages via cell phone communication towers using an Arduino or other microcontroller. “We’ve been doing that for years!” you cry, well yes, technically. But [Fincham] lays it outs simply; commercial offerings are expensive and finding a cell phone that uses RS232 now a days is getting difficult, so a new way of doing the same old is necessary. The good news is USB GSM modems are readily available, cheap, and only require a few interface pins to get them talking with an Arduino. In fact, the image above is all you need.

68 thoughts on “Cheap And Easy SMS Via GSM For Your MCU

  1. I think if you’re planning on adding cellphone communication to a project then you’re going to have to be planning on adding a functional SIM card as well.

    Locally, I’ve had good success with, their SIM cards are $2 to $5 and available in supermarkets.

    1. Ideally, depending on your target, you need a backup method for when they deploy ECM devices to block all external communications. You would want a LOS IR laser for example, if you are targeting someone even somewhat technically proficient. Even the dumbest target can buy cellular scramblers off the internet.

  2. @Stu:

    I’ve got a few of those Huawei dongles here waiting to be taken apart. I suspect they’re probably made in a more highly integrated way and thus are less likely to have the serial signals available inside as conveniently as the cheap DX model.

  3. You could set the ringtone for your “trigger” phone number to be a specific frequency that the detonator circuity would respond do; and ignore all other tones.

    Interesting how this turned into an IED topic…

  4. “In fact, the image above is all you need.”

    I think I’ve tried everything. No matter what I do with that image, I still can’t send text messages. Can somebody please help me?

  5. I would love to use something like this for remote operation of things. But the problem is no carrier has a plan that doesn’t mind remianing dormant for long peroids of time. AT&T requires at least $25 added to the pay as you go SIM every 60 or 90 days…so you end up wasting a lot of money just to keep the SIM activated.

    So I’d be very interested in a carrier that did not require this.

  6. Here in Finland we can get GSM subscriptions with like 1000 SMS/mo for 8 EUR/mo (no other fees), and pre-paid SIMs stay active for atleast a year with no money being paid to them.

    Back to the topic: This is a very interesting post, I will definitely order a few of those modems from DX and see what I can cook up with them! I have been thinking of getting a Telit module, but they’re like three times the price of the DX thing. And if the DX modem uses the BenQ M32 chipset, like suggested on its product review, then it could be a very cheap starting point for developing your own phone since it has voice and data capabilities too.

  7. This is exactly the sort of thing you could stick into an electric bike battery pack along with a GPS, I know there’s quite a bit of space in the top of mine, since the power draw should be very low it could be powered 24/7 even if you don’t charge the battery for weeks. A nice security option for helping locate the bike (or at least the battery) in the nasty event of it being stolen.

  8. i just saw that this USB module (not a phone) has TCP/IP stack (socket) support. so, with it’s AT commands you can sand (textual) data to/from a servers, make e-mail clients, web browsers,…
    this is MUCH cheaper than those GM862 modules for example. so, this is a great find!

  9. Mike:

    It looks like AT&T has a 2 dollar a day plan that might be just the ticket for someone letting it sit from their web site…

    **$2/day charged only on days phone is used to make or receive a voice call (including a call to voice mailbox), use IM, or send a text or picture/video/sound message.

    So it’s only $2 on the day you use it.

    Sounds good to me.


  10. Any geek that is not a n00b knows how to get a rs232 controlled celular module for cheapish. Sparkfun has several..

    How about something useful. a sim based cellphone service that is not massively overpriced for sms and data only use? anyone find what prepaid services that use sim cards and will work in non approved devices?

  11. @fartface

    Show me a solution from sparkfun that already has a power connector, sim card slot, and solderable points for $25. I’m not seeing anything ready to go for less than $100.

  12. Is anyone else starting to get annoyed with the way geek sites (not just Hackaday) pick almost random parts of summaries to use for links?

    It’s great that a summary links not only to the article but also background material. It’s not so great when it’s hard to even figure out before clicking which one is the main article. Even worse when it’s still not obvious after clicking.

    I’m thinking a prominent title which links to the actual article would be great. Background links could be listed at the bottom with actual text telling where they go and why.

    If one really want’s the background links to be tied to the sentence they apply to in the summary they could be numbered. Just insert the number as superscript and make it a hyperlink that scrolls the page down to the link itself.

    I’m not trying to pick on this article or Hackaday. I see this all over the place.

    This is just my opinion. Maybe it’s just me and everyone else loves the sense of exploration when they get to see where links like ‘well yes’ lead to…

  13. Wow, this could be useful for all sorts of projects. Thanks for posting this. I wish I had seen something like this before I bought my Droid. I always wanted to turn my Zaurus into a cellphone.

    @JimSocks, I would think this would work for anything that the sim card enables. Looking at the datasheet it seems like everything is there, even audio. I wonder how hard it would be to access the pins.

  14. @morgauxo: No, you are not alone. I’ve been annoyed by that for a very long time and I believe I even ranted about it on here a while ago (might’ve been somewhere else, I was probably tired at the time, that’s how it usually goes…).

  15. Actually this post has info on a cheap US sim SMS sim deal with tmobile for $15 a month for unlimted SMS. It also has GPS as well as SMS. This looks like a lower cost solution but there is good info in both posts.

    Umm maybe you should stick with the Arduino or the Basic Samp. The pin outs are a typical 3.3v RS-232 interface + a 5 volt vcc in and ground…
    Umm… You could even hook this up to a RS-232 on a PC with with some level converters with no real problem.
    Heck even a C64 with no real effort.
    Just what do you want to use if you can not deal with this simple of an interface?

    I mean do you just like complaining without reason about a post just because it mentions the Arduino?

  16. @Nathan: “I think I’ve tried everything. No matter what I do with that image, I still can’t send text messages. Can somebody please help me?”

    How very Rene Magritte of you. Ceci n’est pas une pipe, indeed.

  17. If you want to experiment a little with this modem, and a terminal program. It’s nice to be able to just plug it into the USB port. Here’s a little trick that will make the driver routine cleaner for “hackish” use.

    Out of the box, the modem registeres as a GPRS609 USB Modem, and only the supplied driver will work. With this driver, the thing will register as a modem in windoze, not as a generic com port. The generic PL2303 driver will not work.

    The PL2303 USB-serial chip in this thing has an option to use an external serial eeprom to hold id information for the USB part. This id is what connects the chip to the right driver.

    Now, looking at the card, there is a little 8 pin IC (SO8 SMD chip, eeprom from Atmel I think) By removing this chip (apply extra solder to all 8 legs, pinch with two cheep soldering irons, and lift of the board) the PL2303 no longer has OEM ID, and will work with the generic PL2303 driver.

    The modem will now register on your computer as a generic serial port, and you can experiment with all the AT commands in a terminal window.

    The PL2303 generic driver can be downloaded from


    PS: Now, for the adventourous, if you lift the PL2303 TX, and RX pins from the circuit board, and bring wires to the pins and pads externally, you have a combined TTL generic USB to Serial module, and a SMS/modem in one small package..

    Best regards from Norway

  18. Looks like I messed up on my schematics. RXD and TXD should be the other way around on the PL2303 pad connections.

    PL2303 pad “RXD” corresponds to “TXD” on the M32 module, and vice versa. Switch things up appropriately if you build this :)

  19. Has anyone got this to work?

    I’m in North America and I put in a Tracfone SIM into the device, detects the SIM, everything is fine but I can’t make calls, send SMS, etc…

  20. \\Yossarian:

    I got the same dissapointing result here i norway, put in several different Telenor SIM cards, the SIM is registered, but I do not get access to the GSM network. When requesting GSM status via AT command, I get status “3”, meaning unable to register with network..

    Seems like the module does not have a valid IMEI, and the network refuses to register it. Some networks requires a valid IMEI, some don’t..

    To bad, would have been a great module, just glad I ordered one first, and not ten right away..


  21. Have you looked into other usb dongles? I just tried using the AT commands with a huwawei e160e with success even though it uses the Qualcomm MSM6246 to directly interface with the USB. Using the same commands you gave on your website, I can send messages with no problems. I will look into connecting an FTDI USB board to allow to directly connect the dongle to a microcontroller without any soldering/tampering.

    Anyway, thanks for the awesome advice.


Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.