This device acts as interface between your microcontroller project and a GSM phone. It handles all modem data communication between the GSM phone and your micro-project. The best thing is that it decodes PDU into TEXT on the fly!
You can easily SMS-enable your any project without need for learning AT commands and parsing complicated data when talking to AT modem inside the phone.
UPDATE: Source code is now available for download!
History If you ever wanted to connect a GSM phone to your microcontroller project you would need to know it's AT command set, use serial communication, parse all kinds of data to extract what you really need, handle communication errors and all sorts of other stuff. Most of AT commands are standard for every phone but not every phone supports SMS texting in ASCII mode («TEXT-MODE»), instead they use PDU-MODE. If every phone was like eg. Nokia 6210 life would be pretty nice. Just build a cable to enable its F-BUS (www.atrox.at) and that's it, you can start using SMS messages in text-mode. Other cheaper phones such as Siemens C/M35, S25 and many Ericsson phones do not support text-mode for SMS messaging. Instead, they can only be used in pdu-mode (http://www.dreamfabric.com/sms). The good thing about them is that they are very cheap and do not require any external cables for initialization. They have their RS232 (TX, RX and GND) port and that's it – you are ready to talk to the modem inside it.
So what do I need SMS Box! for and why did I build it? The answer is pretty simple, I guess... In the past few years I was playing around with building SMS Controller projects for home/car – automation. First there was a «GSM Kontroler v1» with 6 relay-outputs using Siemens S25. It worked great but only for my local GSM – network. It used PDU mode and didn't decode it, it read it as it was. Okay, the second version (4 digital inputs, 4 relay outputs) used Mitsubishi Trium Mars (this little baby is surprisingly great and does support text-mode for SMS, I just love its firmware). Anyway I found out that it was nowhere available to buy anymore, so that's the end of version 2, tough luck. The third version used DLR-3P Nokia phones and it's still a great little device. It's working at many locations doing some great stuff such as controlling water level in a pool at one location, resetting many wireless access points, controlling ham-radio repeaters and it's used as car-alarm (sms and call notify to car owner). I suggest building this device if you ever need it.
The nasty thing about all of these projects above is that I had to re-write the firmware for my microcontroller as 99\% phones return different answer for the same command issued to it. All of this just for sake of additional few commands added to the device and use of another phone that supports text-mode SMS. I do not need to mention that Nokia 6210 is also pretty hard to find and/or is still quite expensive as well as the GSM modems that could replace all this talk about PDU and TEXT modes.
Message send test
Technical The SMS Box! handles SMS messages in pdu-mode so you don't need to worry about *many* things. You can talk to it over its «4-wire bus» and can be used for:
- Receiving sms messages (PDU -> TEXT conversion!) - Sending sms messages (TEXT mode) - Dialling a telephone number - Hang-up a call - Query call status - Receive CLIP string - Report a RING to microcontroller project (interrupt your uC program) - Answer a call - Set phone's date and time – not implemented yet - Get phone's date and time – not implemented yet - Check prepaid credit balance
It's based on PIC16F877A microcontroller running on 16MHz at 5V. It has an onboard level converter for serial communication with the gsm phone because PIC's UART RX input pin has a Schmitt trigger triggering at 4,5 - 5V while the phone is sending only approx. 3V from it's TX pin. It also has a zener diode at TX pin so it doesn't kill the phone's network connection when talking to it. Firmware is 100\% written in MPASM assembler.
Two jumpers in the schematics are for: baud-rate ion (9600bps or 19200bps) - Siemens phones mostly use 19200 while Ericssons use 9600bps, the other jumper is for enabling the RING with CLIP reporting to your microcontroller project (if you need to be notified when the gsm phone is ringing so that you can see who's calling). The device has been developed and tested on Siemens M35 phone. Other Siemens phones require testing and should/must work. The same thing is for the Ericsson phones. The phones that can be used are ones that have «AT modem» inside, UART port and work on 19200 or 9600bps (almost all phones).
Picture doesn't need any explanation. SMS Box! is grey box in the middle.
Data commands - communicating with the box
Please see project files for details on commands and communication protocol.
Jumpers on board On SMS Box! you will find two jumpers:
- Ring reporting ion (jumper in position=Off, jumper removed=On)
- Baud rate ion (jumper in position=9600bps, jumper removed=19200bps)
Made this beautiful project, but still it did not work as it should be, it send the sms
multiple and sometime it does not work at all.
Found out that in the schematic IRQ and HEY are switched confirm the firmware.
I really like this project to work and I would like to contact the people who build this
project and where successful.
I also hope to contact the genius who design this project, I hope to get some help.
With kind regards IP: 220.127.116.11
I have question about this:
what is the pattern of mobile number that I must be used : +972 0599 642069
and the type of nokia mobile that I can use ? I use nokia 3100 but it didn't work !
please help me
thanx IP: n/a
There is an updated version of this device, but it is not yet online. I am currently working on
changing the 4-wire bus to standard SPI bus. IP: n/a
From on 19-03-2009 at 02:12:18
I am a technical stuff in agri & food engg dept in iit kharagpur,india.sms box project is
very usefull project.Our student are want to used it for data transfer from remote are. it will
be best helpfull if you kiendly gives some documents how i connect sms box with 89s51
microcontroller and how i can maneged it in this microcontroller.
thanking you sir IP: n/a