TTGO T-Beam – Kompakter Knochen zum Mappen

Der TTGO T-Beam ist momentan mein liebster Node. Er ist relativ kompakt und leistungsstark und eignet sich hervorragend als Node für den TTN Mapper. Hinzu kommt ein erschwinglicher Preis von ca. 20€. Wer die erste Gehversuche starten möchte, dem sei das GitHub Archiv von DeuxVis empfohlen. Hier ist alles enthalten um seinen T-Beam in einen Mapper Node zu verwandeln. Angefangen beim Sketch, bis hin zum Payload Decoder ist alles dabei. Die erwähnte Brücke von Lora1 nach GPIO33 ist nicht unbedingt nötig.

Das hat mir jedenfalls sehr geholfen und ich bin mit dem T-Beam schnell warm geworden. Was ihr unbedingt wechseln solltet, ist die Antenne. Diese ist wirklich schlecht, aber das sollte ja kein Problem sein.

 

Pin Mapping

TTGO T-Beam Pin Map
GPIO # ESP32 Pin # U12 Pin # U14 Pin # ESP32 Module Pin Name Notes
GPIO_0 23 5 GPIO0 (goes off page)
GPIO_1 41 1 UART0 U0TXD TXD to CP2104
GPIO_2 22 3 GPIO2
GPIO_3 40 2 UART0 U0RXD RXD from CP2104
GPIO_4 24 4 GPIO4
GPIO_5 34 GPIO5 LORA CLK
GPIO_6 31 SD SD_CLK To FLASH clock
GPIO_7 32 SD SD_DATA_0 To FLASH, PSRAM data 0
GPIO_8 33 SD SD_DATA_1 To FLASH, PSRAM data 1
GPIO_9 28 SD SD_DATA_2 To FLASH, PSRAM data 2
GPIO_10 29 SD SD_DATA_3 To FLASH, PSRAM data 3
GPIO_11 30 SD SD_CMD To FLASH chip select (active low)
GPIO_12 18 UART1 MTDI RXD from GPS
GPIO_13 20 4 GPIO13
GPIO_14 17 5 GPIO14 Blue LED (0=off, 1=on)
GPIO_15 21 UART1 MTDO TXD to GPS
GPIO_16 25 GPIO16 To PSRAM chip select (active low)
GPIO_17 27 GPIO17 To PSRAM clock
GPIO_18 35 GPIO18 To LoRa chip select (active low)
GPIO_19 38 GPIO19 To LoRa MISO
GPIO_20 GPIO_20 does not exist
GPIO_21 42 10 GPIO21 I2C SDA
GPIO_22 39 9 GPIO22 I2C SCL
GPIO_23 36 3 GPIO23 To LoRa reset (active low)
GPIO_24 GPIO_24 does not exist
GPIO_25 14 6 GPIO25
GPIO_26 15 GPIO26 To LoRa DIO0 (interrupt)
GPIO_27 16 GPIO27 To LoRa MOSI
GPIO_28 GPIO_28 does not exist
GPIO_29 GPIO_29 does not exist
GPIO_30 GPIO_30 does not exist
GPIO_31 GPIO_31 does not exist
GPIO_32 12 8 32K_XP To LoRa DIO2 (interrupt)
GPIO_33 13 32K_XN To LoRa DIO1 (interrupt)
GPIO_34 10 10 VDET_1
GPIO_35 11 VDET_2
GPIO_36 5 13 Touch SENSOR_VP
GPIO_37 6 Touch SENSOR_CAPP
GPIO_38 7 Touch SENSOR_CAPN
GPIO_39 8 12 Touch SENSOR_VN SW5

Pass Through

Der verbaute U-Blox Neo-6M ist jedenfalls einer der besseren GPS Chips und kann mit der u-center Software von u-blox verwaltet werden. Also wer sich für den Chip interessiert, sollte ruhig mal etwas tiefer graben. Per Default ist jedenfalls SBAS aktiv und das Dynamic Model ist auf Portable gestellt. Diese werte könnt ihr über die Software komfortabel verwalten, es ist aber auch möglich diese Daten dem GPS-Chip per Programmierung mitzugeben.

Um direkt mit dem GPS Chip kommunizieren zu können, müsst ihr einen Pass Through Sketch auf den T-Beam laden.

/**\
 * Use this sketch to talk directly to the gps module.\
 * \
 * In Serial Monitor, select "Both NL & CR" and "115200 baud\'93.\
 */

#include <HardwareSerial.h>

#define debugSerial Serial
HardwareSerial gpsSerial(1);

void setup()
{
  while (!debugSerial || !gpsSerial)
    ;

  debugSerial.begin(115200);
  delay(1000);

  gpsSerial.begin(9600, SERIAL_8N1, 12, 15);

}

void loop()
{
  while (debugSerial.available())
  {
    gpsSerial.write(debugSerial.read());
  }
  while (gpsSerial.available())
  {
    debugSerial.write(gpsSerial.read());
  }
}

In der u-center Software, wählt ihr nun euren seriellen Port aus und stellt die Baudrate auf 115200 ein, danach solltet ihr sofort eine Verbindung bekommen. Fraglich ist hier aktuell, wie lange die kleine Pufferbatterie die Daten halten kann.

 

OLED Support

Der T-Beam lässt sich, je nach Display, sehr einfach um ein OLED Display erweitern. Die nötigen Kontakte sind alle schön nebeneinander angeordnet. Leider ist es nicht möglich in der Adafruit Library einen freien I²C Port auszuwählen. Jedoch hat sich ein User dem Problem angenommen und die Library gepatched. Ich habe den TTN-Mapper Node von DeuxVis geforked und entsprechend erweitert. Alle nötigen Files liegen auf GitHub. GPIO22 ist für SDA und GPIO21 für SCL.

Fazit

Für knapp 20€ erhalten wir einen wirklich guten Node, der sich hervorragend als zum Mappen eignet. Der GPS-Chip findet schnell einen Fix und liefert sehr gute Positionsdaten. Die Bauform ist relativ kompakt und er lässt sich über eine 18650 Zelle sehr einfach mit Strom versorgen. Zu der Laufzeit kann ich bisher noch nichts sagen, da ich den Node bisher noch nicht habe durchlaufen lassen. Im vergleich mit meinem selbst gebauten Mapper-Node, habe ich hier etwas besseren Empfang und einen schnelleren GPS Fix.

5 Gedanken zu “TTGO T-Beam – Kompakter Knochen zum Mappen”

  1. Bei meinem T-BEAM ist die GPS Antenne ziemlich mies. Auf dem Fensterbrett bekomme ich auch nach 15min keinen GPS fix. Wenn ich auf eine andere keramische Antenne gehe (quadratische Bauform, ca 30x30mm) habe ich den Fix innerhalb von Minuten.
    Wie sieht das bei deinem aus?

    • Hallo Reinhard,

      ich kann mich wirklich nicht beklagen. Ich bekomme, selbst an der Fensterbank, zügig einen Fix. Und zügig ist hier innerhalb ein paar Minuten, bei ganz kaltem Node und innerhalb einer halben Minute und schneller, wenn der Node bereits einen Fix an dem Tag hatte. Also ich bin zufrieden.
      Wenn ich es richtig verstanden haben, holt sich der GPS Chip von den Satelliten den Almanach (Bahndaten aller Satelliten für die Zukunft). Damit ist später ein Fix viel schneller möglich.

  2. Klasse ist hier auch die PAX-Counter Software drauf von verkehrsrot, mit Display und GPS ist die ein mobiler Zwitter aus PAX-Counter und TTN-Mapper.

  3. Hi Björn,
    ich habe die Antenne meines TTGO T-Beam gerade nochmal schnell mit dem N1201SA durchgemessen und komme auf einen VSWR Wert von 1.1 (Analyzer in der Hand) und 1.4 (auf dem Boden). Das sind eigentlich sehr gute Werte und sprechen für die mitgelieferte Antenne.

    Auf Thingiverse gibt es auch ein Design für den 3D Drucker: https://www.thingiverse.com/thing:3041339
    Wenn man die Löcher der Schrift nachträglich mit einem 3D CAD Programm schliesst, kommt da dann auch ein ganz brauchbares Gehäuse bei raus :-).

    CU Tim

  4. Ich versuche nun seit Tagen auf meinen TTGO T-Beam einen Sketch zu flashen. Sowohl mit der ArduinoIDE als auch mit Atom/PlatformIO will mir das nicht gelingen.
    Ich arbeite eigentlich schon lange mit ESP8266/ESP32/TTGO V1 und hatte in dieser Richtung bis jetzt keine Probleme.
    Wenn ich mir mit putty die serielle Schnittstelle anschaue bekomme ich folgenden Text bzw. Zeichenfolge:
    ets Jun 8 2016 00:22:57

    rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:1
    load:0x3fff0018,len:4
    load:0x3fff001c,len:808
    load:0x40078000,len:6084
    load:0x40080000,len:6696
    entry 0x400802e4
    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
    die nicht lesbaren Zeichenfolge nach ‚entry 0x400802e4‘ besteht Hex aus der sich immer wiederholdenden Folge von e2 96
    Hat jemand eine Idee, was da schief läuft?
    Danke für eure Hilfe.
    Wolfgang

Schreibe einen Kommentar