diff --git a/README.md b/README.md
index ae323e94..c4f844c5 100644
--- a/README.md
+++ b/README.md
@@ -24,14 +24,16 @@ We currently support three models of radios.
- TTGO T-Beam (usually the recommended choice)
- [T-Beam V1.1 w/ NEO-6M - special Meshtastic version](https://www.aliexpress.com/item/4001178678568.html) (Includes built-in OLED display and they have **preinstalled** the meshtastic software)
- - [T-Beam V1.0 w/ NEO-M8N](https://www.aliexpress.com/item/33047631119.html) (slightly better GPS)
+ - [T-Beam V1.1 w/ NEO-M8N](https://www.aliexpress.com/item/33047631119.html) (slightly better GPS)
- [T-Beam V0.7 w/ NEO-6M](https://www.aliexpress.com/item/4000574335430.html) (will work but **you must use the tbeam0.7 firmware ** - but the T-Beam V1.0 or later are better!)
+ - board labels "TTGO T22_V07 20180711"
- 3D printable cases
- [T-Beam V0](https://www.thingiverse.com/thing:3773717)
- [T-Beam V1](https://www.thingiverse.com/thing:3830711)
- [TTGO LORA32](https://www.aliexpress.com/item/4000211331316.html) - No GPS
-
+ - version 2.1
+ - board labels "TTGO T3_V1.6 20180606"
- 3D printable case
- [TTGO LORA32 v1](https://www.thingiverse.com/thing:3385109)
diff --git a/docs/SupportedHardware.md b/docs/SupportedHardware.md
new file mode 100644
index 00000000..5cbc4661
--- /dev/null
+++ b/docs/SupportedHardware.md
@@ -0,0 +1,8 @@
+| Vendor | Product line | Version | Board labels | Notes | URL |
+|---|---|---|---|---|---|
+| TTGO | T-Beam | 0.7 | T22_V07 20180711 | LoRa 433/470MHz *OR* LoRa 868/915MHz ,
GPS ublox NEO-6M ,
battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4000574335430.html) |
+| TTGO | T-Beam | 1.0 | | | [buy](https://www.aliexpress.com/item/4001178678568.html) |
+| TTGO | T-Beam | 1.1 | T22_V11 20191212 | LoRa 433/470MHz *OR* LoRa 868/915MHz *OR* LoRa 923MHz ,
GPS ublox NEO-M8N ,
battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4001178678568.html) |
+| TTGO | Lora32 | 2.0 | *missing* | LoRa 433/470MHz *OR* LoRa 868/915MHz ,
OLED SSD1306 ,
SD card holder | [buy](https://www.aliexpress.com/item/4000211331316.html) |
+| TTGO | Lora32 | 2.1 | T3_V1.6 20180606 | LoRa 32 (V2) ,
SD card holder | [buy](https://www.aliexpress.com/item/4000119208093.html) |
+| Heltec | Lora 32 | V2 | V2 | LoRa 433/470MHz *OR* LoRa 868/915MHz | [buy](https://heltec.org/project/wifi-lora-32/) |
diff --git a/src/gps/UBloxGPS.cpp b/src/gps/UBloxGPS.cpp
index 142e416f..b63241c3 100644
--- a/src/gps/UBloxGPS.cpp
+++ b/src/gps/UBloxGPS.cpp
@@ -141,19 +141,20 @@ The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of s
perhapsSetRTC(t);
}
+ latitude = ublox.getLatitude(0);
+ longitude = ublox.getLongitude(0);
+ altitude = ublox.getAltitude(0) / 1000; // in mm convert to meters
+ dop = ublox.getPDOP(0); // PDOP (an accuracy metric) is reported in 10^2 units so we have to scale down when we use it
+ heading = ublox.getHeading(0);
+ numSatellites = ublox.getSIV(0);
+
+ // bogus lat lon is reported as 0 or 0 (can be bogus just for one)
+ // Also: apparently when the GPS is initially reporting lock it can output a bogus latitude > 90 deg!
+ hasValidLocation = (latitude != 0) && (longitude != 0) && (latitude <= 900000000 && latitude >= -900000000) && (numSatellites > 0);
+
+ // we only notify if position has changed due to a new fix
if ((fixtype >= 3 && fixtype <= 4) && ublox.getP(maxWait)) // rd fixes only
{
- // we only notify if position has changed
- latitude = ublox.getLatitude(0);
- longitude = ublox.getLongitude(0);
- altitude = ublox.getAltitude(0) / 1000; // in mm convert to meters
- dop = ublox.getPDOP(0); // PDOP (an accuracy metric) is reported in 10^2 units so we have to scale down when we use it
- heading = ublox.getHeading(0);
- numSatellites = ublox.getSIV(0);
-
- // bogus lat lon is reported as 0 or 0 (can be bogus just for one)
- // Also: apparently when the GPS is initially reporting lock it can output a bogus latitude > 90 deg!
- hasValidLocation = (latitude != 0) && (longitude != 0) && (latitude <= 900000000 && latitude >= -900000000);
if (hasValidLocation) {
wantNewLocation = false;
notifyObservers(NULL);