SMS control 4 way remote control relays using ATtiny2313 microcontroller

SMS remote control

SMS remote control


With this circuit we can control up to 8 devices (4 devices in our example project), by sending a specific SMS message with any mobile phone. It’s very useful in the case that, at the place we have the devices, we have not a wired (fixed) telephone line. If you have an old ericsson mobile phone and you are not using it, its the time to build some useful with that.  The controlling that we can do to the devices, it is ON , OFF or Reset.

Usage of this circuit

With this circuit you can switch-ON , OFF or  Restart some Linux servers, ADSL modems, Printers, Door with electric lock, Garage door, House lights, Water pumps, electric sunshade, Block the engine of your car or your motorcycle, at the steal case  and much more. The purpose of this circuit is to make the human life better and easier.

The circuit

The hardware of the circuit is very simple, because the communication port of ericsson mobile works at the 5 volts with AT commands ( like the modem commands, but for mobile phones).
The firmware of the AT90S2313 (or ATtiny2313) is very complicated because, we have to convert the ‘septets’ of the phone into ‘octets’ because the AVR needs bytes with 8 bits length ( The ‘septet’ is 1 byte with 7 bits length and  ‘octet’ is 1 byte with 8 bits length). All this process is necessary for decoding the text message from the SMS.

This circuit is working on both AT90S2313 and ATtiny2313 microcontrollers. In case of ATtiny2313 you have to select “External Crystal Oscillator” instead of default “internal RC oscillator” from the “Fuses” tab of your programmer’s software. You have to uncheck the “Divide clock by 8 internally“.

When you finish the circuit connect it to the mobile phone, turn on the phone and then power on the circuit, not before . The AVR will try to read the message from the 1st memory location of the phone, for that  I suggest you to delete all SMS messages from the phone before you connect it to the circuit. If there is no message to the 1st memory location, the AVR is trying again until you sent any.

The format of the message must be only ‘1’ or ‘0’. ‘1’ to enable, or ‘0’ to disable the device. The message must have only 8 numbers, ‘1’ or ‘0’ , alone or mixed .

Example: if you send the message 11000100 then you enable, starting from the right, the devices 3,7,8 (‘1’) and disabling the devices 1,2,4,5,6 (‘0’) .

If you want to send a new message and you don’t want to change some device, must send the same number as the old message.

Example: If you want to enable only the 5th device, you must send a new message like 11010100 to keep the other devices as there are (we send the same message as the old ( 11000100 ) and we change only the 5th bit from ‘0’ to ‘1’ to enable the device ).

Advice !

If you want to protect your devices from other person’s messages, modify the source code, to read the AVR, your telephone number before execute any message. In the source code I have some part of code, to read the telephone number, the service center number, the date and the time of the received message.

The project its based on the Greek mobile phone network of  <Vodafon GR> and i don’t know if the SMS message in other country, have the same syntax ( I mean the form of the septets that the GSM receiving from the GSM network ).

After the GSM receive the message, the AVR execute it, delete it from the phone memory, to release the 1st memory location and starts again the searching for a new incoming SMS message.

Read more: SMS control 4 way remote control relays using ATtiny2313 microcontroller

Leave a Comment

Your email address will not be published. Required fields are marked *