Up for Review: Using a SIM900A to Send Sensor Data to a Website

Thread Starter


Joined Jun 26, 2015

I made a number of revisions. The following are remaining issues.

1. The "Required Items" section has both "SIM900A GSM module with a working SIM card" and "SIM900A GSM module." I assume that you need only one of those.

2. Please include links for the required items (unless you can't think of anything to link to, or it's extremely common, like wire or a breadboard).

3. The caption for the bar graph says "The most recent 10 readings for onboard temperature and humidity." But there are only nine readings; the first one is just the start-up data.

4. I'm a bit confused about the flowchart: There are two arrows coming from the "Count down minutes and seconds" block. Since there are no conditions attached to these arrows, the flowchart is indicating that two different events happen simultaneously. In general, a flowchart must correspond to the way that code executes in a processor, i.e., each action is followed by only one action, with the action determined by the sequence of instructions or the state of a variable.

5. In the flowchart, "operators" should be "operator's"; also, I don't understand why the welcome message is described as "Awesome" (this occurs also in the text following the flowchart).

6. After the microcontroller schematic, you say, "By doing that, I can add features in the software and hardware without having to etch a new PCB." It seems to me that the test points facilitate hardware changes, but you certainly don't need test points in order to add software features. Maybe this would be a good revision: "By doing that, I can modify functionality or add features without major inconvenience (such as etching a new PCB)."

7. "Instead of turning the PIC on and off, I've added a reset switch." The schematic doesn't show a switch or a button, but rather a connector of some kind (JP5).

8. AAC's standard design practice requires at least one decoupling capacitor for every IC. This applies also to modules that are based on IC functionality and that do not already have decoupling caps. This means that the DHT11 needs a decoupling cap (the datasheet for a similar module, the DHT22, mentions 100 nF as an acceptable value). The LCD module should also have a decoupling cap, unless the module's PCB has one already. However, the decoupling cap will do basically nothing if it is separated from the module by a long wire, so in that case don't bother.

9. We need a link to the SIM900A module that you're using. The language in the article is a bit confusing because SIMCom refers to the chip itself as a “module,” so actually you are working with some sort of development/evaluation board for the SIM900A module.

10. “It is essential to clean the board thoroughly before you start ironing.” I find this caption confusing because it seems to refer to the process of manufacturing the PCB itself, but the caption is attached to an image of a finished PCB with components already installed.

11. “During testing and programming, I tried baud rates up to 57600 and it worked. It wasn't very reliable, but it worked.” This doesn’t inspire much confidence—57600 baud is not exactly high-speed communication. Do you have any idea why the system would experience failures at this higher baud rate?

12. “This commands the module to list the preferred operators. The reply is read into an array, called gsm_buffer. This buffer can hold 40 characters along with the null character. From the reply, we get the operator name.” The first sentence indicates multiple operators, but in the last sentence you say “the operator name,” as if there is only one. Should the last sentence have “names” instead?

13. “Since these commands are sent to the GSM module, and the GSM module communicates with the operator, I've added a two-second delay.” This doesn’t explain exactly why you need the delay. Are you saying that it takes about two seconds for the GSM module to complete its communication with the operator, and the code needs to wait while this communication is taking place?

14. “This is a proprietary SIMCom AT command.” I’m not sure what you mean here. “Proprietary” implies that SIMCom has some sort of special ownership of this command, but I think you are simply indicating that it’s a custom command defined in a SIMCom technical document.

15. How important do you think it is to include the log file? It just looks kind of messy and confusing, and there are typos (spaces before periods, double periods, double space, no space after period, “sucessful” instead of “successful).

16. You use the word “call” with “file” (“PIC calls a file that takes two arguments,” “When this file is called,” “tag calls 1_graph.php”). Maybe this is specialized terminology that I’m not familiar with, but in my experience “call” is used with functions and “open” is used with files. I’m also not familiar with a file “taking arguments.” That again makes me think of a function.

17. A video is theoretically required for all AAC project articles (see page three of the writer’s guide). We don’t like to be too strict with article requirements, and in some cases a video is not as important (such as in Part 1 of a series). But there really should be a video whenever possible. Would you be able to put together some sort of video for this project?
Thank you Robert.

Number 17:
On January 29, at 17:34, I sent you, Kate and Tim an e-mail with a link to a video. Kate also commented some video issues in Trello, last Wednesday a few minutes to 15:00 hrs.

Thread Starter


Joined Jun 26, 2015
Number 17:
On January 29, at 17:34, I sent you, Kate and Tim an e-mail with a link to a video. Kate also commented some video issues in Trello, last Wednesday a few minutes to 15:00 hrs.
Oh, excellent. The article doesn't have any text introducing or describing a video, so I guess that's why I managed to completely forget that Kate mentioned the video just last week!
Oh, excellent. The article doesn't have any text introducing or describing a video, so I guess that's why I managed to completely forget that Kate mentioned the video just last week!
I had a section after the "Conclusion", called "Pictures and video", like some of my other articles, but I think Kate did some editing...

Kate Smith

Joined May 2, 2016
@Jens Christoffersen @RK37 I did indeed move some stuff about! Sorry about any confusion on that, guys. I wanted to showcase the photos earlier in the article but wasn't entirely sure where to put them. I did just pop in the video embed at the bottom, though, so that should be handled.
OK, doing some work...

#1: Good catch.
#2: List is updated with links.
#3: Changed the caption to be more specific.
#4: You're right. Made some changes to the flowchart.
#5: Changed "operators" to "operator's". Removed ironic welcome message.
#6: Edited to your text. Thanks!
#7: Changed and added a more descriptive caption.
#8: I've added a capacitor on the schematic for the DHT11 block. It seems to me that somebody has been playing around with the images. Joining them together. They need to to that again. I've uploaded the new DHT11 block to the article, so they can change the old with the new. Added some text to the caption, and updated the BOM. Updated the high-res image of the schematic.
#9: The link to my module is in the requirements list. Is that OK?
#10: Changed caption.
#11: No I have no idea, and I included it in the article for information. It can easily be deleted.
#12: Changed to your suggestion.
#13: Yes, that's what I'm saying. Added a more descriptive sentence.
#14: Yes, and I need some help with saying that.
#15: Not important at all - removed.
#16: You are absolutely right. I've rewritten the sentences.
#17: Already addressed.


Thread Starter


Joined Jun 26, 2015
Thanks for the revisions, Jens.

#8: I reworked that combined schematic image, so the schematic section is done now.

#9: The link in the "Required Items" section takes me to an ebay search-results page that includes a variety of different products. I was hoping for something that links directly to the module that you used so that readers can find relevant specifications and technical documentation.

#11: It would be nice to have some sort of possible explanation for why the circuit/module is failing to function reliably at a completely reasonable baud rate. Does anyone have any ideas? If not, we'll just leave it as is, and maybe we can update it later if we figure something out.

#14: I think we can simply delete the three sentences that include the word "proprietary." The information is not particularly important -- it is reasonable to assume that any command used with the module is a specific command created by SIMCom for use with their device.

#16: I think there are still some sentences that need to be revised:
  • "When this file is called, it takes the two arguments"
  • "This file can be called from a browser as well"
  • "As you can see from the above code, the DIV tag calls 1_graph.php"
Also, I just want to confirm that this sentence says what you want it to: "To get data into the database, the firmware on the PIC opens a file that sends two variables to the file it opens." Are there actually two files involved here? The PIC opens a file, and that file opens another file and sends variables to that second file?

#8: Great!

#9: I've updated the "Required Items" list, and added a link to the modem's product page. I've not been able to find any useful links to the module.

#11: That's OK with me. When I start to use the boat, I'll take the circuit home, and do some more testing. Perhaps I'll find a pattern.

#14: Agreed, and removed.

#16: Done some small changes. I have three files: index.php, 1_graph.php and add_temp.php.
add_temp.php is opened from the PIC with the command add_temp.php?t=<tempvariable>&h=<humidityvariable>
When add_temp.php is opened, it checks for variables, and if they are found, they are inserted into the database.

1_graph.php connects to the database, extracts the relevant data, and create the diagram.

index.php have a div-container, which in turn have 1_graph.php as source.

Thanks. :)
Wi-Fi? I don't remember writing that. And I'm not using Wi-Fi, unless GPRS is equal to Wi-Fi.

In this article, I'll show you how I used one of my SIM900A GSM modules to send temperature and relative humidity to my personal website via Wi-Fi.

I got an idea of a project using Wi-Fi, but I think the web are overloaded with that already.

Thread Starter


Joined Jun 26, 2015
OK, thanks for making those final revisions. I removed those references to Wi-Fi in the Summary and Introduction, and now it's time to move this article to Ready for Publication.

Thread Starter


Joined Jun 26, 2015
@Jens Christoffersen
Actually, I just remembered one more thing. You mention in the article that you used EagleCAD Light to draw the schematic. I'm assuming this refers to the free version of Eagle. There's a slight complication here because currently the free Eagle is limited to "personal, non-commercial use." I asked Tim and Kate about this, and the response was "it sounds like he's technically violating the license agreement." It's not a direct legal concern for AAC because you're an independent contractor. However, it's probably not a good idea for the article to indicate that you're using the free Eagle in a public, commercial way. So my recommendation is to remove "which were made using Eagle 7.2.0 Light" from the Conclusion section, and then it's up to you to decide how you will handle this for future projects.
So my recommendation is to remove "which were made using Eagle 7.2.0 Light" from the Conclusion section, and then it's up to you to decide how you will handle this for future projects.
OK, thanks for the "heads-up".

I removed the complete sentence.

For future project, I'll guess I don't have to refer to any ECAD programs. At least not Eagle.