[FIXED] "No Sats"/No Red GPS LED - Aliexpress TBeam 1.1 NEO-6M - Fixed for me!

Ok,

I’ll do my best to consolidate all my actions and troubleshooting to date. I have researched this issue and have finally got it working. There are many posts that seem to do a little but I wanted to try to put it all together for me since I was all over following the other posts.

I purchased a " LILYGO® TTGO Meshtastic T-Beam V1.1 ESP32 433/868/915/923Mhz WiFi Bluetooth ESP32 GPS NEO-6M SMA 18650 Battery Holder With OLED" in 915Mhz for USA in late July 2020 with delivery Late Aug 2020
link: https://www.aliexpress.com/item/4001178678568.html

When I first powered up the deice the Meshtastic logo appeared and soon a few stats were on the screen. This was my first unit so I didnt know what to expect. The major thing I remember were the words “GPS Bad” in the upper right side of my OLED. (No version was displayed with the Meshtastic logo)

This was a cause for concern. I decided to see if I could upgrade the Meshtastic soft/firmware. I downloaded ver .9.3 and .9.5 and loaded .93 first.

The device rebooted and the Logo appeared, this time with a version number(0.9.3). The “GPS Bad” was replaced with “NO SATS”. I thought this was better then GPS BAD.

AS A NOTE: After connecting the Meshtastic app(android) the device reported:
“Connected to radio (tbeam 1.0-US/0.9.3)” when I bought v1.1.
I dont know if this is an issue

I took the unit outside and waited. I am familiar with the UBLOX units as I use a Stratux(http://stratux.me/) and am familiar with the UBLOX. It usually only takes a few seconds to get a lock.

After 5 min… Nothing

I googleed “No Sats Meshtastic”. The first link I clicked was:

The biggest difference is the user has the NEO-M8N to which I believe the difference is GNASS or GLO or something

Stepping through the post I tried the following:

I did however change his code a bit to use the OLED screen to see status.
I also used this tutorial for the OLED(Guide for I2C OLED Display with Arduino | Random Nerd Tutorials)
This is my GPS Passthru code:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <axp20x.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)

AXP20X_Class axp;

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F(“SSD1306 allocation failed”));
for(;;); // Don’t proceed, loop forever
}
// Show initial display buffer contents on the screen –
// the library initializes this with an Adafruit splash screen.
display.display();
delay(2000); // Pause for 2 seconds

// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Starting Serial Port”);
display.display();

Serial.begin(9600);
Serial1.begin(9600, SERIAL_8N1, 34, 12, false, 1000); //TBeam GPS defaults
Wire.begin(21, 22);

// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Spot 1”);
display.display();

axp.begin(Wire, AXP192_SLAVE_ADDRESS); //initialise the AXP192

// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Spot 2”);
display.display();

axp.setChgLEDMode (AXP20X_LED_OFF);
// Enable power on the TBeam.
axp.setPowerOutPut(AXP192_LDO2, AXP202_ON);
axp.setPowerOutPut(AXP192_LDO3, AXP202_ON);
axp.setPowerOutPut(AXP192_DCDC2, AXP202_ON);
axp.setPowerOutPut(AXP192_EXTEN, AXP202_ON);
axp.setPowerOutPut(AXP192_DCDC1, AXP202_ON);

// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Spot 3”);
display.display();
}

void loop() {
if (Serial.available()) { // If anything comes in from the PC,
axp.setChgLEDMode (AXP20X_LED_LOW_LEVEL);
Serial1.write(Serial.read()); // read it and send it out to the GPS.
axp.setChgLEDMode (AXP20X_LED_OFF);
// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Send to GPS”);
display.display();
}

if (Serial1.available()) { // If anything comes in from the GPS,
axp.setChgLEDMode (AXP20X_LED_LOW_LEVEL);
Serial.write(Serial1.read()); // read it and send it out to the PC.
axp.setChgLEDMode (AXP20X_LED_OFF);
// Clear the buffer
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 10);
// Display static text
display.println(“Send to PC”);
display.display();
}
} `

  • After that I powered off/on the tbeam and looked at the screen…

  • Then I connected the u-center UBLOX software and set the settings to my Com port and 9600 baud then followed the steps here: "No Sats" status on Oled - #11 by dafeman

  • Then I power cycled the unit again and reconnected the u-center software. I was then able to get a lock and a red flashing LED under the UBLOX chip. The u-center software then showed a FIX with my GPS data streaming in.

  • Then I updated the firmware to the latest Meshtastic again using the steps here:GitHub - meshtastic/firmware: Meshtastic device firmware

  • I got the NO SATS again but within 3min the GPS LED was blinking RED under the UBLOX chipset

I have another NEO-6M version on the way as well as the NEO-M8N on the was. I will see if there is any difference in the first start performance with the new Nodes

Hope all this helps.

Thanks,
Don

1 Like

thanks for the great write-up. Btw hopefully anyone running 0.9.2 or later of meshtastic shouldn’t need to do this. Because it now resets the GPS to factory settings once per install

1 Like

Confirmed, same board from Aliexpress with Meshtastic installed. Flashing to 0.9.5 got my NEO-6M-0-001 to see multiple sats when outside.

Took 1m20s on a cold boot to locate 4 satellites.

Where can I get the firmware 0.9.5?

I suggest you pick a more recent version, but all firmware releases can be found here:

I have updated my board to version 1.2.45. GPS Status: No GPS Lock