In my first Instructable, I will show you how to make an SMS sender with the LinkIt ONE board.
First of all, I want to thank Instructables and Mediatek for sending me this awesome board, and as promised, I have documented the first project I have made on the Mediatek LinkIt ONE. This won’t be the only project I will post here; I will surely post an update to this one and other Instructables too, using the LinkIt ONE.
So, let us move over to more important stuff.
Step 1: Introduction and Opinions About the LinkIT ONE
From my previous experiences with microcontrollers, especially Arduino, I have found out that the LinkIt ONE is different, altogether a very unique product, with its striking color scheme. As I researched more about it, I found out that there is quite a difference between the LinkIt ONE and Arduino. The main thing in the LinkIt ONE on the hardware side is integrated Bluetooth, WIFI, GSM, GPRS, Audio jack, and an SD card connector, in about the same size as the UNO, with much more RAM and storage space, overall, making it much more powerful and favorable than the UNO. All these can be put on the UNO as well, but having them integrated is a very good thing, as anyone will agree.
When I first used the LinkIt ONE, I noticed that it had some problems, all on the software side, which I had never before noticed in the UNO. First of all, it takes time for the serial port to initialize, after uploading a sketch, which may not be a very big problem, but you will know what I am talking about when you are in the process of testing or debugging. You can relate to how irritating it feels to wait for it initialize, when it was just instantly on the UNO. The LinkIt ONE also lacks the auto-reset option when the serial port is switched on, which is present in the UNO, leading to loss of data on the serial port.
Another thing is that the serial port is problematic, random problems such as not receiving or outputting data which gets fixed by re-plugging the board and re-opening another Serial Monitor. I hope these problems will be fixed by future software updates but for now, I think we have to give some sacrifice for getting a good thing.
Also, I was surprised that the TX and RX LEDs, although present, do not blink when you upload code. I thought maybe the LEDs malfunctioned but when I researched more about it, I saw that they were connected to the physical UART and work when you use “Serial1” instead of “Serial”.
But the good thing is that it uses the same programming language as the Arduino which is a very big advantage as anyone who knows programming with the Arduino can use this too.
I will surely recommend the LinkIt ONE to anyone who has previous experience with the Arduino.
Step 2: Moving on to the Project
Before moving on, I would like to give you a link to the MediaTek LinkIt ONE developers guide which has helped me a lot in using the LinkIt ONE.
It is an excellent document and I would suggest you that before going on anywhere with this, just have a look through this.
Step 3: Materials Required
- LinkIt ONE (As if you would be here without this)
- Cable to connect the LinkIt ONE to the PC (Notice the pink one Instructables sent)
- Standard sized SIM card without pin lock
If you’ve got this, you are all set to move on to the next step.
Step 4: The Actual Project - Finally
I assume that you have the drivers correctly installed and the firmware updated for the LinkIt ONE. I will not show you how to do that, as there are many guides out there AND Google is your friend, but I will be generous enough to include a link to the Mediatek website where they have explained the steps in minute detail and I hope you will be able to get to the point where you can upload the example code “Blink” on your LinkIt ONE successfully.
If so, then you are ready for the project.
- Make sure that the switches are in the indicated position in the picture.
- Copy the given code to your computer, remembering to change the number where you want to send an SMS to in the code. I have included a screenshot to show where that is for your reference.
- Find out which COM port is the LinkIt ONE connected to, in the Device Manager.
- Select the MTK USB Modem port (Like mine is COM 13 in screenshot) in the Arduino IDE.
- Upload the code to your LinkIt ONE, and when successful, move on to the next step.
Spoiler: Isn’t it good to see that with this much code, you have filled up only 0% of program memory?
Step 5: Working
When you upload the code and open the serial monitor at 115200 bauds, you will see that nothing is received from the serial port. This is because I modified the code to start only when the user inputs anything in the serial port. This was done to solve the problem of loss of data, due to lack of the auto-reset function when the serial port opens, in the LinkIt ONE.
So just enter anything in the serial port and press enter. Hopefully, you will be greeted by a message saying “Starting Send SMS”, followed by “Sim Initialized”, showing that the sim is ready. Then it will ask you what you want to send, input that, and press enter. It will ask for confirmation, and entering “Yes” without the inverted commas, will send the message. If sent successfully “SMS sent” is received from the board and if not “SMS is not sent” is received. If the user wants to change the message or to not send it, inputting anything other than “Yes”, preferably “No” will give “SMS sending cancelled by user”.
Do not forget that there may be carrier charges for this and they will vary from place to place. So if you keep on getting “SMS is not sent”, it may be that you have low balance.
Step 6: Thanks and Future Revisions
I have commented on nearly every line of the code so that it will be easy for you to change it to your own needs. I will also update this code in future to hold contact numbers and you can send them messages by using their names.
Thanks again and if you have any comments/queries, feel free to post a comment and I will be glad to answer your questions.