I sell on Tindie
Map
Grand Prize Winner
(Dec 2012)
Second Prize Winner
(July 2012)












Compact DefendLineII Replica in DVD box

Here is a replica of DefendLineII main unit and GSM/GPS Module fitted in ordinary box for 10 DVDs.

Beware: uCAM-TTL from 4DSystems

If you decide to buy a uCAM JPEG module from Australian company 4d Systems then be extra careful because you may end up with faulty module without any chance to get your money back. The trick is simple: you buy, let’s say, two modules from them. In a couple of weeks your shipment arrives undamaged and untampered (yes, two long weeks to deliver a shipment from Penrith to Sydney, just about 60 km!). You unpack first module, test it and use it in your project. The module works just fine and there is a deceptive feeling that second module should be left intact unless you really need it in your next development cycle or second project. But here is the catch – due to poor quality control (or maybe even absence of it) at the seller’s side your next module might be basically non-functional.

The most obvious action is to contact supplier’s support, its email address is conveniently provided on supplier’s website. The only problem is that they ignore your pathetic requests. Of course, this is only because their anti-spam system due to unknown to any human on Earth reasons blocks your and only your message. At the beginning you patiently waiting for a reply, cheerful, full of optimism, confidently thinking that it is just a temporary misunderstanding between you and tremendously custom-oriented 4d Systems. In a few days you begin realising that nobody in support is willing to deal with your annoying issue.

To defeat that invincible anti-spam system you decide to submit your request to unreachable and invisible support team via conveniently provided web form. This action requires ‘Order ID’ field to be set – and guess what? – it won’t help their highly productive support team to find out the actual invoice associated with your purchase, they will ask you to send the invoice to them! Moreover, when using the web form, you have no means to attach any file, for instance, a snapshot or a picture just to prove that the item is faulty indeed. The only way is upload you file somewhere else and embed a link to it into message body.

And when the support eventually contacts you there are very good chances that you already lost your money and time because according to their fair replacement policy you can exchange a faulty item only within 3 (three) months since the date of purchasing. It is like a bottle of milk with its ‘Best before’ and ‘Use by’ dates – 4d Systems can’t guarantee that in three months your camera module won’t go off like that bottle of milk! That is really funny, well done, guys!

They way they communicate to their customers is also worth noticing:

Dear D,
Invoice copy was needed to confirm the warranty. Anyways, I checked with the Sales Department for the Order number, It has been almost a year since you made this purchase. Unfortunately, the warranty period has expired. Please make sure you test the items before stocking them to avoid these problems.

Regards
M. B.
4D Systems Pty. Ltd.

No regrets, no apologies, only ambitions and very useful recommendations what customer MUST do to avoid problems CREATED BY THE MANUFACTURER-SUPPLIER.

Also the company tends to blame its customers for incorrectly working hardware. Speaking of uCAM-TTL module, 4d Systems forum is full of admin supportive posts saying that ‘your host controller is not handling camera’s packets as it should that is why you are under impression that the camera is faulty’. In other words, ‘your firmware is buggy and therefore it can’t work with our beautiful camera’. Look who is talking, guys! ‘uCAM-Tool’ software is really worth admiring. This tool allows to test your camera eliminating chances that your own code may not entirely follow the spec and you may deceptively blame the camera. But there is a group box ‘OV528 Jpeg problem’ on the main form with the options ‘OV529/Ignore’ and ‘Fix’ meaning that the camera does have some flows. And if you are unlucky enough to check ‘Video Mode’ in ‘Snapshot’ groupbox then you are doomed – there is no way to abort communication between the tool and the camera, you have to kill the process in Task Manager!

And that is how our faulty camera behaves, please refer to the picture below. There are six snapshots for JPEG, 16-bit color, 8-bit color and 8-bit greyscale modes – all of them indicate a problem and it is obvious that this problem is not related to communication protocol nor JPEG compression – there is something wrong with the imaging sensor.

The conclusion is simple. Looks like it is worth integrating the project with LinkSprite JPEG Color Camera. Just to not be dependable on one supplier and to have more options to choose from. Stay tuned!

DefendLineII & GSM Module in action

Here is a demonstration of DefendLineII project working together with GSM/GPS Module.

GPS/GSM Module. Software support

Module software support includes GSM module library and an example of its typical usage for ATMega microprocessor family written in C/C++. The logic of interaction with SIM900D modem is enclosed in SIM900Modem.c, SIM900Modem.h files and relies on enhanced version of HardwareSerial class originally designed for Arduino project. As SIM900Modem.c does not depend on AVR specific features it may be quite easy adopted for different microprocessor types. The library has the following low level functionality to control the modem:

  • switch it on and off,
  • send AT commands and analyse responses,
  • extract certain parts from modem’s replies and convert them into other representations and formats.

On top of this logic more meaningful commands are implemented such as:

  • getting manufacturer ID,
  • getting IMEI,
  • getting model ID,
  • texting,
  • waiting for GSM network registration,
  • getting network operation,
  • opening/closing GPRS content,
  • etc.

Also there are two sets of methods, for sending data via HTTP and TCP protocols.

The first set utilises HTTP related AT commands, it hides a lot of things from end user and therefore much simpler for use. However, it does not allow to define arbitrary HTTP header and as a consequence, there is no way to send MIME-encoded POST requests and therefore no way for sending binary data such as pictures. In addition, the the commands do not provide functionality to set HTTP parameters separately and it is entirely user application responsibility to do URL-encoding. There is also no way to get response HTTP header fields, they are hidden by the modem. Yet this is fairly simple way to make HTTP requests by means of dedicated HTTP AT commands, the commands provide the following functionality:

  • initialising HTTP request,
  • setting target URL request,
  • setting user data parameters and values,
  • choosing action (either GET or POST),
  • reading data,
  • terminating connection.

The second group of methods facilitates sending/receiving data over TCP/UDP protocols and HTTP request might be generated on top of TCP. This way is more complex, it requires more efforts on user application side and utilises more RAM for intermediate buffer. At the same time it gives you all flexibility you need without limitations in number of parameters and binary data length as requests are sent by chunks. The following functionality is provided:

  • starting IP connection,
  • getting assigned local IP address,
  • getting GPRS PDP status,
  • sending data,
  • getting HTTP response,
  • parsing HTTP server current timestamp (for RTC synch),
  • closing IP connection.

Let’s take a closer look at the list of commands starting from low-level layer:

  • uint8_t SIM900Modem::init() initialises modem and powers it up it it has not been switched on yet via PWRK line. If this method returns false then there is something wrong with either modem itself or its connection to your microcontroller. Check SIM900D voltage, normally it should have 3.7V on 38-39 pins; then check serial connection to your host board and finally make sure that host board can control PWRK and has serial port properly initialised,
  • uint8_t SIM900Modem::powerOff() switches the modem off by sending appropriate AT command. In case if the modem stopped responding (very rare situation but still possible) use the next command,
  • void SIM900Modem::forcedPowerOff()switches the modem off by controlling PWRK line, works even if the modem is unresponsive to AT commands,
  • uint8_t SIM900Modem::sendATCmdWaitResp(const char* cmd) sends AT command and waits for either OK or ERROR reply. If nothing has been received within MDM_TIMEOUT x 100 ms timeframe returns false. If OK has been received returns true. cmd param should not have AT prefix as it is appended automatically inside the method,
  • uint8_t SIM900Modem::sendATCmdWaitResp_p(const prog_char cmd[]) does the same as the method above but reads cmd from program memory,
  • uint8_t SIM900Modem::sendATCmdWaitResp(const char* cmd, const prog_char expectedResp[], uint8_t delayCntr) allows to wait for modem reply different from OK or ERROR. It also waits longer, for delayCntr x 100 ms in addition to standard MDM_TIMEOUT x 100 ms,
  • uint8_t SIM900Modem::sendATCmdWaitResp_p(const prog_char cmd[], const prog_char expectedResp[], uint8_t delayCntr) does the same as the method above but reads cmd from program memory,
  • uint8_t findSubstr(const ring_buffer* buf, uint16_t len, const prog_char expectedResp[], uint16_t* posFound) searches a specified string in receiving buffer without actual reading it, the number of bytes in buffer is defined by len value. If the method returns true then posFound contains an index of a first byte of the searched string. Note that this method does not allocate memory for posFound, it should be done by user code,
  • uint8_t SIM900Modem::extractReply(char* outBuf, uint16_t len, uint8_t line) extracts a line of characters from modem receiving buffer into provided buffer outBuf with maximum number of characters to be copied defined in len. The desired line number is line. The method returns number of characters copied and outBuf filled with copied characters in case of success.

A list of auxiliary methods is given below:

  • uint8_t SIM900Modem::getManufacturerID(char* buf, uint16_t len) gets modem’s manufacturer ID,
  • uint8_t SIM900Modem::getModelID(char* buf, uint16_t len) gets modem’s model ID,
  • uint8_t SIM900Modem::getTARevision(char* buf, uint16_t len) gets modem’s revision,
  • uint8_t SIM900Modem::getIMEI(char* buf, uint16_t len) gets modem’s IMEI number,
  • uint8_t SIM900Modem::getNetworkRegistration() returns true if modem has successfully registered in GSM network and false otherwise,
  • uint8_t SIM900Modem::waitForNetworkRegistration() waits until modem is registered in GSM network but no more than MDM_TIMEOUT x 3000 ms,
  • uint8_t SIM900Modem::getNetworkOperator(char* buf, uint16_t len) gets GSM operator name.

Methods for SMS functionality:

  • uint8_t SIM900Modem::setTxtSMSMsgFormat() hardcoded for setting txt message format, should be invoked every time modem is restarted before sending/reading SMS,
  • uint8_t SIM900Modem::setGSMCharSet() hardcoded for setting GSM charset, should be invoked every time modem is restarted before sending/reading SMS,
  • uint8_t SIM900Modem::sendSMS(char* destAddr, char* msg) sends a text message msg to a phone addressed by number destAddr, returns true in case of success.

A list of methods for making HTTP connections by means of embedded HTTP AT commands:

  • uint8_t SIM900Modem::openGPRSContext(char* buf) opens GPRS context, buf parameter contains APN string. APN is different for different mobile providers, for instance, APN value for Australian Vodafone is vfinternet.au. Returns true if GPRS context has been opened false otherwise,
  • uint8_t SIM900Modem::closeGPRSContext() closes opened GPRS context, returns true in case of success,
  • uint8_t SIM900Modem::httpInit() initisalises HTTP request,
  • uint8_t SIM900Modem::httpSetURL(char* buf) sets URL to connect to a remote HTTP resource,
  • uint8_t SIM900Modem::httpSetData(char* buf, uint16_t len, uint16_t timeout) sets HTTP user data, buf parameter contains a string of URL-encoded parameter-value pairs with len characters in the biuffer,
  • uint8_t SIM900Modem::httpAction(uint8_t isPostMethod, uint16_t* responseLen) does actual sending of HTTP request and reading of HTTP reply. isPostMethod set to true creates POST HTTP request and GET otherwise,
  • uint8_t SIM900Modem::httpRead(char* buf, uint16_t startIdx, uint16_t len) reads HTTP reply, this method is not implemented in Rev1.1 GPS/GSM AVR Library
  • uint8_t SIM900Modem::httpTerm() closes HTTP connection, should be invoked at the end of each HTTP request.

A list of methods for making HTTP connections over TCP AT commands (which is primarily used by the example):

  • uint8_t SIM900Modem::startSingleIPConnMode() issues AT+CIPMUX=0 command to handle only one TCP connection at a time, should be invoked before even opening GPRS connection,
  • uint8_t SIM900Modem::setGPRSPDPAPN(char* apn, char* username, char* pwd) sets APN value, username and password. If username and password are not required by your mobile operator these two parameters might be set to NULL,
  • uint8_t SIM900Modem::actGPRSPDPContext() opens GPRS context and returns true in case of success or false otherwise,
  • uint8_t SIM900Modem::deactGPRSPDPContext() closes opened GPRS context, returns true in case of success,
  • uint8_t SIM900Modem::getLocalIP(char* buf, uint16_t len) retrieves local IP address after successfully opened GPRS context and puts it into buf buffer with maximum length no longer than len,
  • uint8_t SIM900Modem::sendIPConn(char* buf, uint16_t len, uint16_t delayCntr) sends len bytes from buf to remote side and waits delayCntr x 100 ms in addition to standard MDM_TIMEOUT x 100 ms,
  • uint8_t SIM900Modem::sendAndCheckHTTPRespIPConn(char* buf, uint16_t len, uint16_t bufsize, uint16_t delayCntr, RtcTimeType* rtc) sends len bytes from buf to remote side, retrieves remote side response, puts it into buf with maximum length bufsize, searches for HTTP/1.1 200 OK or HTTP/1.0 200 OK in reply content and if found parses server current datatime in UTC format into provided RtcTimeType variable. This method should be used for sending the very last block of data of your HTTP request,
  • uint8_t SIM900Modem::closeIPConn() is currently not used as sometimes modem becomes unresponsive after it. Use uint8_t SIM900Modem::deactGPRSPDPContext() method, it automatically closes opened IP connection if it has not been closed already by remote side.

To be continued…

Downloads:

1. Magictale GPS/GSM Module AVR Lib Rev1.1

GPS/GSM Module. PCB Component Layout

Components are soldered on both sides of the PCB. Only components that need to provide the required functionality should be soldered. Depending on your situation, some components such as CONN1, CONN2, CONN4, CONN5, L1 etc can be soldered on either side of the board. There is no strict sequence for soldering but U1 should be probably installed first as it has many pins along three sides and should be positioned very precisely. The most challenging component to be soldered is D1 due to its smallest pin pitch (and which is actually used to protect SIM interface lines from ESD). If you can’t solder it then don’t do it – you will just need to take more ESD precautions when replacing SIM card.

PCB component layout for both sides is given below:

Time to begin soldering components. But before make sure that you have the following tools and materials get ready: solder iron with temperature control or soldering station, solder, solder wick, mutimeter, tweezers. We highly recommend to use solder paste in syringe packaging which will significantly improve the quality of your soldering. Based on our own experience we would advise to get SMD291NL that is available in Digikey.com, inexpensive and the the same time gives noticeable good results. To make things even more easier it would be also useful to have a magnifying glass and plenty of natural light (preferably daylight).

As many components are ESD sensitive it would be worth taking anti-static protection precautions. The tip would to be well earthed (grounded) in any circumstances when handling CMOS components, not only soldering them.

Downloads:

1. Magictale GPS/GSM Gerber Files Rev1.1

GPS/GSM Module. List of Components

The minimum set of components for GSM functionality and external 3.4V 2A power supply is given below:

Image Position Manufacturer part number/
Digikey part number
Comments Unit price,
USD
Qty Extended price,
USD
CONN1 AWHW14G-0202-T-R
HRP14H-ND
CONN HEADER LOW-PRO 14POS GOLD 0.97 1 0.97
U1 Search on ebay.com,
alibaba.com
SIM900D GSM module 27 1 27
CONN4 CONSMA002
CONSMA002-ND
CONNECTOR FEMALE R/A PCB MT 3.48 1 3.48
Q1, Q2 BC847C-TP
BC847C-TPCT-ND
TRANS SS NPN 45V 100MA SOT23 0.33 2 0.66
R2, R8 ERJ-8GEYJ473V
P47KECT-ND
RES 47K OHM 1/4W 5% 1206 SMD 0.06 2 0.12
R4, R9 RMCF1206JT4K70
RMCF1206JT4K70CT-ND
RES 4.7K OHM 1/4W 5% 1206 SMD 0.05 2 0.10
R3 ERJ-8GEYJ181V
P180ECT-ND
RES 180 OHM 1/4W 5% 1206 SMD 0.06 1 0.06
LED1 LNJ411K8YRA
P11528CT-ND
LED AMBER FACE UP 1206 0.51 1 0.51
CONN3, CONN6,
CONN8, CONN9
(optional);
JP1, JP2, JP3
68016-436HLF
609-2227-ND
CONN HEADER 36POS .100 R/A TIN 1.55 1 1.55
R5, R6, R7 RMCF1206JT22R0
RMCF1206JT22R0CT-ND
RES 22 OHM 1/4W 5% 1206 SMD 0.05 3 0.15
To CONN4 TG.22.0112
931-1041-ND
ANT 5-BAND GSM DIPOLE 8.1 1 8.1
D1 ESDA6V1W5
497-7228-1-ND
TRANSIL ARRAY DATA PROT SOT323-5 0.92 1 0.92
C1 C1206C224K5RACTU
399-1251-1-ND
CAP .22UF 50V CERAMIC X7R 1206 0.26 1 0.26
C7 B45197A2477K509
495-1537-1-ND
CAP TANT 470UF 10V 10% LOESR SMD 2.46 1 2.46
C8 12065G105ZAT2A
478-1580-1-ND
CAP CERM 1UF 50V Y5V 1206 0.38 1 0.38
CONN7 7111S2015X02LF
609-1401-1-ND
CONN SIM CARD 6PS .100 W/CVR SMD 1.61 1 1.61
R1 RMCF1206JT10K0
RMCF1206JT10K0CT-ND
RES 10K OHM 1/4W 5% 1206 SMD 0.05 1 0.05
To JP1, JP2, JP3 969102-0000-DA
3M9580-ND
SHUNT JUMPER .1″ BLACK GOLD 0.06 3 0.18

In case of using external 12V an onboard DC-DC converter will require the following components to be soldered as well:

Image Position Manufacturer part number/
Digikey part number
Comments Unit price,
USD
Qty Extended price,
USD
U3 LM2596S-ADJ/NOPB
LM2596S-ADJ-ND
IC REG SIMPLE SWITCHER TO-263-5 5.18 1 5.18
D2 CDBC360-G
641-1122-1-ND
DIODE SCHOTTKY 3A 60V DO-214AB 0.8 1 0.8
FB1 BLM41PG181SN1L
490-5230-1-ND
FERRITE CHIP 180 OHM 3000MA 1806 0.57 1 0.57
L1 CDRH127/LDNP-101MC
308-1331-1-ND
INDUCTOR 100UH 2.1A SHIELD SMD 2.02 1 2.02
R11 RMCF1206JT4K70
RMCF1206JT4K70CT-ND
RES 4.7K OHM 1/4W 5% 1206 SMD 0.05 1 0.05
R10 RMCF1206JT10K0
RMCF1206JT10K0CT-ND
RES 10K OHM 1/4W 5% 1206 SMD 0.05 1 0.05
C2 12065G105ZAT2A
478-1580-1-ND
CAP CERM 1UF 50V Y5V 1206 0.38 1 0.38
C3 TAJE107K020RNJ
478-1746-1-ND
CAP TANTALUM 100UF 20V 10% SMD 3.08 1 3.08

Set of components for GPS functionality is given below:

Image Position Manufacturer part number/
Digikey part number
Comments Unit price,
USD
Qty Extended price,
USD
CONN5 CONSMA002
CONSMA002-ND
CONNECTOR FEMALE R/A PCB MT 3.48 1 3.48
To CONN5 AA.105.301111
931-1000-ND
ANTENNA GPS MAGNETIC BASE 12.96 1 12.96
CONN2 9-146282-0-12
A34253-12-ND
CONN HDR BRKWAY .100 12POS VERT 1.04 1 1.04
U2 Product code GPS-07951
on sparkfun.com
Copernicus GPS module 44.95 1 44.95

Set of components required for onboard power 3.3V supply for GPS receiver (if no external 3.3V voltage is present):

Image Position Manufacturer part number/
Digikey part number
Comments Unit price,
USD
Qty Extended price,
USD
U4 MAX1724EZK33+T
MAX1724EZK33+TCT-ND
IC CONV DC-DC STPUP 3.3 TSOT23-5 3.70 1 3.70
L4 NLV32T-100J-PF
445-1523-1-ND
INDUCTOR POWER 10UH 1210 0.21 1 0.21
C9, C10 TPSA106M010R1800
478-4086-1-ND
CAP TANT LOWESR 10UF 10V 20% SMD 0.38 2 0.76

Set of components required for external microphone connection:

Image Position Manufacturer part number/
Digikey part number
Comments Unit price,
USD
Qty Extended price,
USD
C4, C5, C6 CC1206JRNP09BN470
311-1158-1-ND
CAP CERAMIC 47PF 50V NP0 1206 0.161 3 0.48
L2, L3 B82422A3101K100
495-1708-1-ND
INDUCTOR .10UH 440MA 1210 10% 0.47 2 0.94

GPS/GSM Module. Circuit Diagram

The GSM part is based on SIM900D GSM module. SIM300DZ has the same pin layout and designation so it might be used as a replacement of SIM900D. Q1 transistor, R2, R3 and R4 resistors are used to drive LED1 ‘NET LIGHT’ which indicates module networking status. CONN4 is a SMT antenna connector. Q2 transistor and R8, R9 resistors facilitate module powering on and off via PWRK line. C4, C5, C6 capacitors, L2 and L3 inductors and CONN9 are optional for external microphone connection. Optional CONN3 connector is for debugging and firmware upgrade purposes. CONN7 SIM CARD holder is connected to the module through matching the impedance R5, R6 and R7 resistors and D1 for ESD protection. Optional CONN6 and CONN8 are for Li-Ion battery and battery charger accodingly. The modem is connected to the host controller via CONN1 connector with the following pin designations: TX, RX, RTS, CTS are used for serial communication, STAT is used to detect whether the module is switched on or off, PWRK is for the actuall switching on and off, RESG is used for Copernicus GPS module reset.

The GPS part is based on Copernicus module. It also has SMT connector CONN5 for GPS antenna and CONN2 for connection to the second serial port on a host controller.The module might be set to power down mode via STBY line.

There are a few options for powering the device. First of all, 3.4V DC 2A could be supplied through pins 8, 10 of CONN1. The typical voltage is usually 3.3 but it is just not enough for SIM900D, the critical level is 3.4V so if you have voltage of this level on your host controller then use this option. Just keep in mind that SIM900D peak current consuption is 2A. In this case the power selector JP1, JP2 should be shorted with jumpers at 1-2 pins. The second option is to use 12V external voltage then U3 regulator, C2, C3, D2, L1, R10, R11 and FB1 elements should be soldered. It provides SIM900D with optimum 3.7V. In this case 1-2 pins of JP3 and 2-3 of JP1, JP2 must be closed with jumpers. Now there is still a need in 3.3V for the GPS chip, it could be supplied via pin 6 of CONN2 connector or provided by soldering U4, C9, L4 and C10 components, it will give 3.3V at 150 mA which could be used somewhere else. In the latter case the only required input voltage to be provided externally will be 12V.

The project’s circuit diagram is given below:

Note:Circuit diagrams are licensed under a Creative Commons Attribution Share-Alike license,which allows for both personal and commercial derivative works,as long as they credit ‘AVR Magictale Projects’ and release their designs under the same license.

GPS/GSM Module. Overview

This module is a cost effective and flexible solution providing your own microcontroller with wireless Internet connectivity, remote controlling via SMS and GPS functionality. As a GSM module either SIM900D or SIM300DZ might be used, some of the most affordable GSM modules currently on the market featuring embedded TCP/IP stack over AT commands so measurement data, pictures, messages etc might be sent directly to TCP servers over the Internet. Moreover, SIM900D comes with HTTP and FTP commands dramatically simplyfing interactions using these protocols. The module is interfaced via serial port and a few extra lines so it needs minimum GPIO to be reserved on a host controller.

Optional Copernicus GPS module is a sensitive and low power receiver with a frequency of 5Hz for a position resolution. It requires a separate serial port which could be a software (emulated one) on your side if your microcontroller has only one hardware serial port.

Both GPS and GSM chips are fully controllable in terms of power management which allows to switch them on at the moments in time when there is a need and put them in power down mode the rest of the time with only a few uA of current consumption making it very econimical in case of battery power source.

The GPS/GSM module PCB is designed to suite as many potential applications as it possible, it has facilities to connect external microphone, Li-Ion battery, external battery charger, has a connector for modem’s debug port and numerous options of module power supply including onboard DC-DC regulator. Only those components that are used need to be soldered means that the module will be tailored for your own needs at a minimal price.

The project has an extensive software support, there is a thoroughly tested opensource library and set of examples written in C/C++ for AVR microprocessor family. The code might be enhanced at you own discretion, be fully intergated into your own projects and even ported to another microprocessors.

Thank you for your attention and all the best,
Magictale team

GPS/GSM Module from Magictale

Gps Gsm Module Top View

Gps Gsm Module Top View

Gps Gsm Module Bottom View

Gps Gsm Module Bottom View

GSM/GPS module is a compact, flexible and powerful solution allowing to add GPS functionality and/or Internet connectivity to your own device with minimum effort. The module is designed as one of a few interchangeable transport connectors for DefendLineII project but could be easily mated with any microprocessor based device via serial interface and couple of extra GPIOs (two serial interfaces are needed in case of simultaneous usage of GSM and GPS chips). Depending on the required functionality only those components should be soldered that shall be used to provide that functionality which simplifies assembling process, makes the module cheaper yet still potentially capable of more – you can just add extra components later if you really need.

Main unit features:

  • SIM900D GSM module, one of the affordable GMS modules currently on the market;
  • Embedded TCP/IP stack, AT commands for TCP client/server connections, HTTP and FTP clients;
  • High sensitive and low power 12 Channel Copernicus GPS receiver;
  • SMT connectors for GPS and GSM antennas;
  • GSM Module debug output connector;
  • Microphone connectivity;
  • SIM card holder;
  • LED for indication of GSM module states;
  • GSM header (1-st serial interface, DTR/CTS, PowerOn and State control lines);
  • GPS header (2-nd serial interface);
  • Optional Li-Ion battery charger connector;
  • Optional Li-Ion battery connector with temperature control;
  • Power supply: 12V input (converted to 3.7V by onboard stabilizer for GSM module), 3.3V for GPS module (either external or provided by internal circuit if soldered). Instead of input 12V 3.4V (minimum voltage level for GSM module) might be provided, no need in onboard stabilizer. Power options are set by onboard jumpers;
  • Open source code library and circuit diagram unlock literally unlimited potential of this module;

Please express your interest by posting your comments.

DefendLineII. uCam-TTL JPEG Serial Camera Integration

It is a known fact that C328 JPEG Serial Camera has been discontinued and not available on the market anymore. But there is a replacement called uCam-TTL Serial JPEG Camera module which is currently being produced and sold by Australian company called 4D Systems. The camera has the same QV7640 image sensor, serial interface and command set which makes it compatible with its predecessor. The module draws the same 60mA at 3.3V DC. Despite it is priced at $59 which is a little bit more expensive in comparison with C328, it has more impressive optics and even lens cover, please see the photo below:

uCAM-TTL Camera Module

But even though the module has the same connector it has totally different pinouts, so check the following table below carefully and make all necessary modifications to your cable before connecting to DefendLineII CONN3 serial header:

Signal name Wire color uCAM-TTL camera header DefendLineII CONN3 header
Vcc (3.3V) Yellow 2 6
Camera Tx Red 4 1
Camera Rx Black 5 3
GND White 3 2,4

Camera’s datasheet is available here: uCAM-TTL datasheet

The camera and DefendLineII connected together:

DefendLineII and uTTL CAM Module

Previous article: DefendLineII. C328 JPEG Colour Camera Integration;

Additional info: DefendLineII Kit;