GPS Serial not working ESP8266 BE-280

I have Windows 10 with Arduino IDE ver 2.3.2.
I am running an ESP8266 board (LOLIN WEMOS D1 R2) connected to a Beitian BE-280 GPS. The Vcc for the GPS is 3.3 V from the 8266 board. The code is standard GPS Test from the example, modified to 38400 BAUD per the BE-280 data sheet.
The BE-280 blue LED blinks until satellites are acquired and then the red (PPS) and blue (TX) LED's both blink about 1 flash per second. The serial monitor indicates no data being received.
When I connect the BE-280 Rx (pin4) wire to Tx (Pin 3) of the 8266, all is fine. When I connect the BE-280 Tx (pin3) wire to Rx (pin4) of the 8266, the blue LED stops flashing and only the blue LED flashes. Still no data. Is it possible that the BE-280 data sheet is wrong and Tx & Rx are swapped?
Swapping the Tx $ Rx wires results in both red and blue LED's flashing, although somewhat weaker, and still no data.

The spec for the BEE-280 Vcc is 3.6-5.5V. Could this be the problem? I hope to run this from a LIPO battery and will not have 5V readily available.
Thanks in advance for any assistance.

#include <SoftwareSerial.h>

#include <TinyGPS.h>

/* This sample code demonstrates the normal use of a TinyGPS object.
   It requires the use of SoftwareSerial, and assumes that you have a
   38400-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
   Board LOLIN WEMOS D1 R2
*/

TinyGPS gps;
SoftwareSerial ss(4, 3);

void setup()
{
  Serial.begin(115200);
  ss.begin(38400);
  
  Serial.print("Simple TinyGPS library v. "); Serial.println(TinyGPS::library_version());
  Serial.println("by Mikal Hart");
  Serial.println();
}

void loop()
{
  bool newData = false;
  unsigned long chars;
  unsigned short sentences, failed;

  // For one second we parse GPS data and report some key values
  for (unsigned long start = millis(); millis() - start < 1000;)
  {
    while (ss.available())
    {
      char c = ss.read();
      // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
        newData = true;
    }
  }

  if (newData)
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
    Serial.print("LAT=");
    Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    Serial.print(" LON=");
    Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
    Serial.print(" SAT=");
    Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
    Serial.print(" PREC=");
    Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
  }
  
  gps.stats(&chars, &sentences, &failed);
  Serial.print(" CHARS=");
  Serial.print(chars);
  Serial.print(" SENTENCES=");
  Serial.print(sentences);
  Serial.print(" CSUM ERR=");
  Serial.println(failed);
  if (chars == 0)
    Serial.println("** No characters received from GPS: check wiring **");
}



Please fix your post. The above explanation is not part of your code.

Yes, could be. Have you tested it with 5V?

If it won't run at all below 3.6V, then you won't get great life out of LiPO, but it should work.

I got the GPS working with both 8266 boards. My problem was selecting the Rx and Tx pins. I found this works. I have it set up to measure the distance E-W from the end of my driveway. Apparently one of the I/O pins I was using had a pull-up resistor built in that was causing problems. The GPS seems to work fine on 3.3 volts also.

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
static const int RXPin = D2, TXPin = D1; // pins for ATGM336H GPS device
static const uint32_t GPSBaud = 38400; // default baudrate of ATGM336H GPS device
double street = 105.110815;            //longitude of end of driveway
double dist_feet = 0;
TinyGPSPlus gps;
SoftwareSerial ss(TXPin, RXPin);
void setup() {
  Serial.begin(112500); // start serial monitor for debugging
  ss.begin(GPSBaud);
}  
void loop() {
  while (ss.available() > 0){
    if (gps.encode(ss.read()) && gps.location.isValid() && gps.date.isValid() && gps.time.isValid()){
      double longit = String(gps.location.lng(),8).toDouble();
     // Serial.println(longit,8);        //longitude as a double
      dist_feet = (longit+ street)*360000;  //dist from end of driveway
      Serial.println(dist_feet,1);
    }
  }
}

With a voltage range of 3.6volt to 5.5volt it must have it's own built-in voltage regulator.
You will get a longer runtime, and maybe fewer problems, if you power it straight from the LiPo battery.
Leo..

It was working, but now when I try to compile I get an error:
Any idea why this would have changed?

FQBN: esp8266:esp8266:d1_mini
Using board 'd1_mini' from platform in folder: C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2
Using core 'esp8266' from platform in folder: C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2

"C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1/python3" -I "C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/mkbuildoptglobals.py" "C:\Program Files\Arduino IDE\resources\app\lib\backend\resources" 10607 "C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA" "C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt" "C:\Users\bbutc\OneDrive\Documents\Arduino\Dog_GPS_Wemos_D1_R1/Dog_GPS_Wemos_D1_R1.ino.globals.h" "C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266/CommonHFile.h"
default_encoding: cp1252
Assume aggressive 'core.a' caching enabled.
Note: optional global include file 'C:\Users\bbutc\OneDrive\Documents\Arduino\Dog_GPS_Wemos_D1_R1\Dog_GPS_Wemos_D1_R1.ino.globals.h' does not exist.
Read more at How to specify global build defines and options — ESP8266 Arduino Core 3.1.2-21-ga348833 documentation
Detecting libraries used...
C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/lwip2/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -IC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core -c @C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINI" -DARDUINO_BOARD_ID="d1_mini" -DFLASHMODE_DIO -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266 -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\d1_mini C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA\sketch\Dog_GPS_Wemos_D1_R1.ino.cpp -o nul
Alternatives for TinyGPS++.h: [TinyGPSPlus@1.0.3]
ResolveLibrary(TinyGPS++.h)
-> candidates: [TinyGPSPlus@1.0.3]
C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/lwip2/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -IC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core -c @C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINI" -DARDUINO_BOARD_ID="d1_mini" -DFLASHMODE_DIO -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266 -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\d1_mini -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\TinyGPSPlus\src C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA\sketch\Dog_GPS_Wemos_D1_R1.ino.cpp -o nul
Alternatives for SoftwareSerial.h: [SoftwareSerial@1.0 EspSoftwareSerial@8.0.1]
ResolveLibrary(SoftwareSerial.h)
-> candidates: [SoftwareSerial@1.0 EspSoftwareSerial@8.0.1]
C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/lwip2/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -IC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core -c @C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINI" -DARDUINO_BOARD_ID="d1_mini" -DFLASHMODE_DIO -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266 -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\d1_mini -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\TinyGPSPlus\src -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\SoftwareSerial C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA\sketch\Dog_GPS_Wemos_D1_R1.ino.cpp -o nul
C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/lwip2/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -IC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core -c @C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINI" -DARDUINO_BOARD_ID="d1_mini" -DFLASHMODE_DIO -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266 -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\d1_mini -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\TinyGPSPlus\src -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\SoftwareSerial c:\Users\bbutc\OneDrive\Documents\Arduino\libraries\TinyGPSPlus\src\TinyGPS++.cpp -o nul
c:\Users\bbutc\OneDrive\Documents\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp:41:10: fatal error: avr/interrupt.h: No such file or directory
41 | #include <avr/interrupt.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 @C:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core/build.opt -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/lwip2/include -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/sdk/libc/xtensa-lx106-elf/include -IC:\Users\bbutc\AppData\Local\Temp\arduino\sketches\F6CC758DBF353592C44CAF3700C307FA/core -c @C:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/warnings/none-cppflags -Os -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10607 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_WEMOS_D1MINI" -DARDUINO_BOARD_ID="d1_mini" -DFLASHMODE_DIO -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\cores\esp8266 -IC:\Users\bbutc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2\variants\d1_mini -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\TinyGPSPlus\src -Ic:\Users\bbutc\OneDrive\Documents\Arduino\libraries\SoftwareSerial c:\Users\bbutc\OneDrive\Documents\Arduino\libraries\SoftwareSerial\SoftwareSerial.cpp -o nul
Alternatives for avr/interrupt.h: []
ResolveLibrary(avr/interrupt.h)
-> candidates: []
exit status 1

Compilation error: exit status 1

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.