Reports.EM-406A History

Hide minor edits - Show changes to output

Changed lines 14-16 from:
%rframe% width=200px%http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% width=200pxhttp://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
to:
%rframe width=200px%http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe width=200px%http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
Changed lines 14-16 from:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
to:
%rframe% width=200px%http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% width=200pxhttp://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
Changed line 12 from:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.jpg
to:
%rframe width=200px% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.jpg
Changed line 99 from:
(: source lang = arduino :)
to:
(:source lang=arduino:)
Changed line 99 from:
(: sourcelang = arduino :)
to:
(: source lang = arduino :)
Changed lines 99-100 from:
(:sourcelang=arduino:)
to:
(: sourcelang = arduino :)
Changed line 206 from:
(:sourceend:)
to:
(: sourceend :)
Changed lines 99-100 from:
(:sourcelang=Arduino:)
to:
(:sourcelang=arduino:)
Added line 205:
Changed lines 99-100 from:
to:
(:sourcelang=Arduino:)
Added line 205:
(:sourceend:)
Changed lines 12-16 from:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.png

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.png

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.png
to:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
Added lines 1-2:
updated 2/1/2012 by Monica Bate and Peter Darche
Changed line 99 from:
to:
This example was taken from an Arduino forum discussing the EM-406. The original post can be found here: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1166042147/
Changed line 5 from:
.Where to buy it [[http://www.google.com/search?q=EM-406A+GPS&tbm=shop&aq=f|Where to buy it]].
to:
.[[http://www.google.com/search?q=EM-406A+GPS&tbm=shop&aq=f|Where to buy it]].
Changed line 5 from:
.Where to buy it: [[http://www.google.com/search?q=EM-406A+GPS&tbm=shop&aq=f]].
to:
.Where to buy it [[http://www.google.com/search?q=EM-406A+GPS&tbm=shop&aq=f|Where to buy it]].
Added line 5:
.Where to buy it: [[http://www.google.com/search?q=EM-406A+GPS&tbm=shop&aq=f]].
Changed line 10 from:
[[<<]]
to:
Changed lines 10-12 from:
//
to:
[[<<]]
Deleted lines 11-12:

//
Added lines 11-12:
//
Added lines 14-15:

//
Changed lines 9-13 from:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
to:
%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.png

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.png

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.png
Changed line 92 from:
[[http://www.futurlec.com/Datasheet/EM-406A.pdf|Another datasheet]]
to:
[[http://www.futurlec.com/Datasheet/EM-406A.pdf|Another datasheet from Futurlec]]
Added line 88:
!! Pin Assignment
Added lines 87-93:


%rframe% http://itp.nyu.edu/~mbv227/gps-images/screen-shot.png

[[http://www.futurlec.com/Datasheet/EM-406A.pdf|Another datasheet]]
Changed lines 95-97 from:
Code example
to:

!! '''Code example'''
Changed line 7 from:
The EM-406A is a 20-channel [[http://en.wikipedia.org/wiki/GPS|GPS]] receiver with built in patch antenna available at [[http://www.sparkfun.com/products/465ISparkfun]] for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
to:
The EM-406A is a 20-channel [[http://en.wikipedia.org/wiki/GPS|GPS]] receiver with built in patch antenna available at [[http://www.sparkfun.com/products/465|Sparkfun]] for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
Changed line 7 from:
The EM-406A is a 20-channel [[http://en.wikipedia.org/wiki/GPS|GPS]] receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
to:
The EM-406A is a 20-channel [[http://en.wikipedia.org/wiki/GPS|GPS]] receiver with built in patch antenna available at [[http://www.sparkfun.com/products/465ISparkfun]] for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
Changed line 7 from:
The EM-406A is a 20-channel GPS receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
to:
The EM-406A is a 20-channel [[http://en.wikipedia.org/wiki/GPS|GPS]] receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
Changed line 7 from:
The EM-406A is a 20-channel GPS receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is WAAS-enabled, which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
to:
The EM-406A is a 20-channel GPS receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is [[http://en.wikipedia.org/wiki/WAAS|WAAS-enabled]], which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.
Changed lines 1-2 from:
The datasheet can be found [[http://www.sparkfun.com/datasheets/GPS/EM-406A_User_Manual.PDF|here]].
A reference manual can be found [[http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual1.pdf]].
to:
.The datasheet can be found [[http://www.sparkfun.com/datasheets/GPS/EM-406A_User_Manual.PDF|here]].

.
A reference manual can be found [[http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual1.pdf|here]].
Changed lines 2-3 from:
to:
A reference manual can be found [[http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual1.pdf]].
Added lines 83-190:


------------------------------------------
Code example

//Created August 15 2006
//Heather Dewey-Hagborg
//http://www.arduino.cc
//reworked to GPS reader
//Dirk, december 2006

#include <ctype.h>
#include <string.h>

#define bit9600Delay 84
#define halfBit9600Delay 42
#define bit4800Delay 188
#define halfBit4800Delay 94

byte rx = 6;
byte tx = 7;
byte SWval;
char dataformat[7] = "$GPRMC";
char messageline[80] = "";
int i= 0;

void setup() {
pinMode(rx,INPUT);
pinMode(tx,OUTPUT);
digitalWrite(tx,HIGH);
digitalWrite(13,HIGH); //turn on debugging LED
SWprint('h'); //debugging hello
SWprint('i');
SWprint(10); //carriage return
Serial.begin(9600);
}

void SWprint(int data)
{
byte mask;
//startbit
digitalWrite(tx,LOW);
delayMicroseconds(bit4800Delay);
for (mask = 0x01; mask>0; mask <<= 1) {
if (data & mask){ // choose bit
digitalWrite(tx,HIGH); // send 1
}
else{
digitalWrite(tx,LOW); // send 0
}
delayMicroseconds(bit4800Delay);
}
//stop bit
digitalWrite(tx, HIGH);
delayMicroseconds(bit4800Delay);
}

char SWread()
{
byte val = 0;
while (digitalRead(rx));
//wait for start bit
if (digitalRead(rx) == LOW) {
delayMicroseconds(halfBit4800Delay);
for (int offset = 0; offset < 8; offset++) {
delayMicroseconds(bit4800Delay);
val |= digitalRead(rx) << offset;
}
//wait for stop bit + extra
delayMicroseconds(bit4800Delay);
delayMicroseconds(bit4800Delay);
return val;
}
}
void char2string()
{
i = 0;
messageline[0] = SWread();
if (messageline[0] == 36) //string starts with $
{
i++;
messageline[i] = SWread();
while(messageline[i] != 13 & i<80) //carriage return or max size
{
i++;
messageline[i] = SWread();
}
messageline[i+1] = 0; //make end to string
}
}
void loop()
{
digitalWrite(13,HIGH);
//only print string with the right dataformat
char2string();
if (strncmp(messageline, dataformat, 6) == 0 & i>4)
{
for (int i=0;i<strlen(messageline);i++)
{
Serial.print(messageline[i], BYTE);
}
}

//Serial.print(SWread(),BYTE); //use this to get all GPS output, comment out from char2string till here

}
------------------------------------------
Added lines 5-10:

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-01-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-02-L.jpg

%rframe% http://itp.nyu.edu/~mbv227/gps-images/00465-03-L.jpg
Added lines 1-2:
The datasheet can be found [[http://www.sparkfun.com/datasheets/GPS/EM-406A_User_Manual.PDF|here]].
Changed line 60 from:
||N/S Indicator||N||N=north or S=south||
to:
||N/S Indicator||N|| ||N=north or S=south||
Changed lines 73-79 from:
||<CR><LF>|| ||End of message termination||




The EM-406A also supports WAAS, which is a secondary network of satellites and ground stations used to provide higher resolution positioning data. This network was created by the U.S. FAA and DOT.
to:
||<CR><LF>|| || ||End of message termination||


The EM-406A also supports [[http://en.wikipedia.org/wiki/WAAS|WAAS]], which is a secondary network of satellites and ground stations used to provide higher resolution positioning data. This network was created by the U.S. FAA and DOT.
Added line 48:
Changed line 51 from:
Protocol
to:
!!Protocol
Changed lines 54-55 from:
This is an output command from the EM-406A. All commands start with a $, then the command itself, followed by any parameter data. All of the supported commands and the data fields are described in the data sheet.
to:
This is an output command from the EM-406A. All commands start with a $, then the command itself, followed by any parameter data. All of the supported commands and the data fields are described in the data sheet. This command translates to:
|| border=1
||!Name||Example||Units||Description||
||Message ID||$GPGGA||GGA||protocol header||
||UTC Time||161229.487|| || hhmmss.sss||
||Latitude||3723.2475|| || ddmm.mmmm||
||N/S Indicator||N||N=north or S=south||
||Longitude||12158.3416|| ||dddmm.mmmm||
||E/W Indicator||W|| || E=east or W=west||
||Position Fix Indicator||1 || ||See Table B-3||
||Satellites Used||07|| ||Range 0 to 12||
||HDOP||1.0|| ||Horizontal Dilution of Precision||
||MSL Altitude1||9.0 meters|| || ||
||Units||M|| ||meters||
||Geoid Separation1|| || || meters||
||Units||M|| ||meters||
||Age of Diff. Corr.|| ||second||Null fields when DGPS is not used||
||Diff. Ref. Station ID||0000|| || ||
||Checksum ||*18|| || ||
||<CR><LF>|| ||End of message termination||


Changed lines 79-80 from:
Questions/Problems
Is the WAAS network available outside the U.S.?
to:
Added lines 1-57:
!!Summary
The EM-406A is a 20-channel GPS receiver with built in patch antenna available at Sparkfun.com for $60. It supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy for a microcontroller to communicate to it. The datasheet also contains examples of each supported command, which is helpful when dealing with an unfamiliar protocol. It also is WAAS-enabled, which allows for a higher level of accuracy than standard GPS alone. (I値l explain WAAS further later.) Considering its high level of accuracy, small form factor, and easy setup, it seems like an excellent choice for GPS applications.

!!Relevant Features and Specs:
* SiRF star! high performance GPS Chip Set*
* Very high sensitivity (Tracking Sensitivity: -159 dBm)
* Extremely fast TTFF (Time To First Fix) at low signal level
* Support NMEA 0183 data protocol
* Built-in SuperCap to reserve system data for rapid satellite acquisition (This isn稚 explained anywhere else in the datasheet.)
* Built-in patch antenna
* LED indicator for GPS fix or not fix

!!!General
:Chipset:SiRF Star!
:Channels:20 channel all-in-view tracking. This allows the unit to acquire data from up to 20 satellites, which should be enough redundancy for city and indoor use (unverified).
:Sensitivity:-159 dBm

!!Accuracy
:Position: 10 meters, 2D RMS, 5 meters, 2D RMS, WAAS enabled
:Velocity: 0.1 m/s
:Time: 1us synchronized to GPS time

!!Datum
:Default:[[http://en.wikipedia.org/wiki/WGS84|WGS-84]]

!!Acquisition Time
:Reacquisition:0.1 sec., average
:Hot start:1 sec., average
:Warm start:38 sec., average
:Cold start:42 sec., average

!!Power
:Main power input:4.5V ~ 6.5V DC input
:Power consumption:44mA

!!Protocol
:Electrical level:TTL level, Output voltage level: 0V ~ 2.85V RS-232 level
:Baud rate:4,800 bps
:Output message:[[http://en.wikipedia.org/wiki/NMEA_0183|NMEA 0183]] GGA, GSA, GSV, RMC, VTG, GLL

!!Physical Characteristics
:Dimension:30mm*30mm*10.5mm "0.2mm (pretty freakin' small)


!!!Theory of usage
From Wikipedia:
Utilizing a constellation of at least 24 Medium Earth Orbit satellites that transmit precise microwave signals, the system enables a GPS receiver to determine its location, speed, direction, and time.
It is not necessary to understand the exact nature of these signals in order to use a GPS receiver. Like nearly all GPS receiver modules, the EM-406A decodes these signals, determines its position, and provides the developer with a means of acquiring this data.

Protocol
The EM-406A supports the NMEA 0183 protocol for GPS data over an RS-232 serial connection, making it easy to interface with a microcontroller. A typical command looks like this:
$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M,,,,0000*18
This is an output command from the EM-406A. All commands start with a $, then the command itself, followed by any parameter data. All of the supported commands and the data fields are described in the data sheet.

The EM-406A also supports WAAS, which is a secondary network of satellites and ground stations used to provide higher resolution positioning data. This network was created by the U.S. FAA and DOT.
Questions/Problems
Is the WAAS network available outside the U.S.?