Introducing the "Tiny Cell", a GSM and GPRS capable cell module I designed with the help of some online references. Essentially, a miniature cell phone that is able to text, call and access the internet. It can be used with any processor or MicroProcessor via TX/RX protocol. The Tiny Cell makes use of the Sim900 GSM chip, made by SIMCOM.
The workshops I teach at Columbia have much to do with the virtual network. An upcoming summer 2013 studio will be going to South Africa and looking at the implications of mobile wireless data and urban movement.
What are the gates or moments between our virtual and physical worlds? Can we locate these moments?
It would be beneficial to implement tracking of some sort, in order to see where, how and when people travel. It would be even more interesting if we could couple the tracking with mobile network activity.
I decided to undertake this project in order to understand the mobile wireless network and mobile tracking better. We all know that our mobile devices connect to the internet through our cell-phone providers (MTN, AT&T, etc). However, what is not clear is the space in between the physical and virtual, the gateways. This module design allows us to scan the network , locate cell towers and report back to an internet database via GPRS or text to another phone.
Components
- GSM1: GSM module SIM900
- SIM: Slot SIM-CARD
- - Antenna connector MMCX 90°
Capacitors
- C1: 220 nF (Through Hole)
- C2: 100 nF (Through Hole)
- C3: 470 µF 6,3 VL (CASE-D)
- C4: 470 µF 6,3 VL(CASE-D)
- C5: 100 nF (Through Hole)
LEDs
- LD1: led green (Through Hole)
Resistors
- R1: 15 ohm (Through Hole)
- R2: 15 ohm (Through Hole)
- R3: 15 ohm (Through Hole)
- R4: 10 kohm (Through Hole)
- R5: 4,7 kohm (Through Hole)
- R6: 10 kohm (Through Hole)
- R7: 330 ohm (Through Hole)
- R8: 10 kohm (Through Hole)
- R9: 4,7 kohm (Through Hole)
- R10: 10 kohm (Through Hole)
- R11: 4,7 kohm (Through Hole)
All resistors are miniature versions and can be found on DigiKey from the following links:
Transistors
- T1: BC817
- T2: BC817
- T3: BC817
Tracking: GSM,CDMA and GPRS,HSDPA
So, how does my cell phone know where it is all the time? The answer is GPRS or HSPDA (3G/4G).
GPRS or any form of HSDPA allows a cell phone to connect to the internet which in turn allows them to connect to a server that returns their location. This makes sense but there is a missing link. You have to send data to the server in order to get back your location data.
After some extensive reading I found that what is happening behind the scenes is not a simple request from an online server. Here is a breakdown of what takes place:
1: Acquire land marks
Your cell phone needs some sort of land mark to tell the server where about it is, so it uses its GSM or CDMA connection to find the nearest cell towers radio data. A cell phone is constantly looking for a cell tower connection. To make switching between cell towers quicker, your cell phone retains a list of 6 to 7 of the closest cell phone towers it can sense within range.
Here is an example of data that your devices retrieves:
- +CENG: 0, 310, 410, 177c, 4fd7, 05, 25
- +CENG: 1, 310, 410, 177c, 4fd1, 11, 36
- +CENG: 2, 310, 410, 177c, 572e, 50, 24
- +CENG: 3, 310, 410, 177c, 54d0, 44, 17
- +CENG: 4, 310, 410, 177c, 5173, 35, 13
- +CENG: 5, 310, 410, 177c, 4f2f, 71, 8
2: Reading the data
If we look at the data your device acquires from each tower, you can see that we have have some interesting information:
+CENG: cell, mcc, mnc, lac, cellID, bsic, rxl
- cell: 0 is the serving cell tower, 1-6 neighboring cell towers
- mcc: Mobile country code
- mnc: Mobile network code
- lac: Location area code
- cell-id: Cell id
- bsic: Base station identity code
- rxl: Receive Level
3: Sending the Data
Now that your device has the information of these towers it needs to contact a server via the internet (GRPS,3G,4G). The server will return the exact location of the towers. The server requires 4 pieces of information for each cell tower:
- MCC: Mobile Country Code
- MNC: Mobile Network Code
- LAC: Location Area Code
- CID: Cell Tower ID
The server will return 3 important values per cell tower that we are interested, below is an example for one tower:
- Latitude = 42.389753
- Longitude = -71.084485
- Cell Tower Range (in Meters) = 974m
4: Read Data from Server and calculate distances.
Here are the values I obtained for 6 towers and a map where I pin pointed the values:
- 42.389752,-71.084487, 974m
- 42.389383,-71.082613,819m
- 42.394189,-71.092303, 820m
- 42.40796,-71.099582, 1011m
- 42.390106,-71.087797, 912m
- 42.393632,-71.106624, 842m
Why GPS Tracking is not adequate............
In order to do this we would need to locate where people are using their devices. I started with this module below that I got from Adafruit and after using it for about a day. GPS is great, because once you have the hardware, location tracking is completely free. Whats more is that most cell phones nowadays have built in GPS chips. However, I found that GPS has some serious limitations:
- The satellite fix time is too long, 45 seconds to 5 minutes. This means that by the time you get the fix you wanted you could be 5 miles away , traveling 60MPH.
- You cannot get a fix on an overcast day or if you are indoors. Whats more is that it can also have a problem getting a fix if you are in a car. This is not ideal if someone has to be conscious all the time about the devices orientation.
Sim900 References:
General features
* Quad-Band 850/ 900/ 1800/ 1900 MHz
* GPRS multi-slot class 10/8
* GPRS mobile station class B
* Weight: 3.4g
* Control via AT commands (GSM 07.07 ,07.05 and
SIMCOM enhanced AT Commands)
* SIM application toolkit
* Supply voltage range : 3.2 ... 4.8V
* Low power consumption: 1.0mA(sleep mode)
* Operation temperature: -40°C to +85 °C
Specifications for Data
* GPRS class 10: max. 85.6 kbps (downlink)
* PBCCH support
* Coding schemes CS 1, 2, 3, 4
* CSD up to 14.4 kbps
* USSD
* Non transparent mode
* PPP-stack
Specifications for Voice
* Tricodec
– Half rate (HR)
– Full rate (FR)
– Enhanced Full rate (EFR)
* Hands-free operation
(Echo suppression)
* AMR
– Half rate (HR)
– Full rate (FR)
Specifications for SMS via GSM/GPRS
* Point to point MO and MT
* SMS cell broadcast
* Text and PDU mode