Cube Cell HTCC-AB02S V1.0 868-915- GPS Not Working

I just bought a Cube Cell HTCC-AB02S V1.0 868-915. I have been at this for 3 days now and can’t get the GPS to show anything except zeros. I dont have a clue what I could be doing wrong here. Please Help.
Using Platformio:


************ paltformio.ini **********


[platformio]
default_envs = cubecell_gps

[common]
platform = https://github.com/HelTecAutomation/platform-asrmicro650x.git
framework = arduino
monitor_speed = 115200
build_flags = -Os
lib_deps = nanopb/Nanopb@^0.4.3
agdl/Base64 @ ^1.0.0

[env]

[env:cubecell_capsule]
extends = common
board = cubecell_capsule

[env:cubecell_capsule_solar_sensor]
extends = common
board = cubecell_capsule_solar_sensor

[env:cubecell_board]
extends = common
board = cubecell_board

[env:cubecell_board_plus]
extends = common
board = cubecell_board_plus

[env:cubecell_gps]
extends = common
board = cubecell_gps


*******************end platformio.ini



********** main.cpp ****************


//the GPS module used is Air530.
#include “Arduino.h”
#include “GPS_Air530.h”
#include <Wire.h>
#include “cubecell_SSD1306Wire.h”

SSD1306Wire display(0x3c, 500000, I2C_NUM_0, GEOMETRY_128_64, GPIO10); // addr , freq , i2c group , resolution , rst

int fracPart(double val, int n)
{
return (int)((val - (int)(val)) * pow(10, n));
}

void VextON(void)
{
pinMode(Vext, OUTPUT);
digitalWrite(Vext, LOW);
}

void VextOFF(void) //Vext default OFF
{
pinMode(Vext, OUTPUT);
digitalWrite(Vext, HIGH);
}

void setup()
{
VextON();
delay(10);

display.init();
display.clear();
display.display();

display.setTextAlignment(TEXT_ALIGN_CENTER);
display.setFont(ArialMT_Plain_16);
display.drawString(64, 32 - 16 / 2, “GPS initing…”);
display.display();

Serial.begin(115200);
Air530.begin();
// Air530.sendcmd("$PGKC115,1,1,1,1*2B\r\n"); // mode: gps, glonass, beidou, galileo [0: off, 1: on]
// Air530.setNMEA(NMEA_GGA | NMEA_RMC | NMEA_VTG);
}

void loop()
{
uint32_t starttime = millis();
while ((millis() - starttime) < 1000)
{
while (Air530.available() > 0)
{
Air530.encode(Air530.read());
}
}

char str[30];
display.clear();
display.setFont(ArialMT_Plain_10);
int index = sprintf(str, “%02d-%02d-%02d”, Air530.date.year(), Air530.date.day(), Air530.date.month());
str[index] = 0;
display.setTextAlignment(TEXT_ALIGN_LEFT);
display.drawString(0, 0, str);

index = sprintf(str, “%02d:%02d:%02d”, Air530.time.hour(), Air530.time.minute(), Air530.time.second(), Air530.time.centisecond());
str[index] = 0;
display.drawString(60, 0, str);

if (Air530.location.age() < 1000)
{
display.drawString(120, 0, “A”);
}
else
{
display.drawString(120, 0, “V”);
}

index = sprintf(str, “alt: %d.%d”, (int)Air530.altitude.meters(), fracPart(Air530.altitude.meters(), 2));
str[index] = 0;
display.drawString(0, 16, str);

index = sprintf(str, “hdop: %d.%d”, (int)Air530.hdop.hdop(), fracPart(Air530.hdop.hdop(), 2));
str[index] = 0;
display.drawString(0, 32, str);

index = sprintf(str, “lat : %d.%d”, (int)Air530.location.lat(), fracPart(Air530.location.lat(), 4));
str[index] = 0;
display.drawString(60, 16, str);

index = sprintf(str, “lon:%d.%d”, (int)Air530.location.lng(), fracPart(Air530.location.lng(), 4));
str[index] = 0;
display.drawString(60, 32, str);

index = sprintf(str, “speed: %d.%d km/h”, (int)Air530.speed.kmph(), fracPart(Air530.speed.kmph(), 3));
str[index] = 0;
display.drawString(0, 48, str);
display.display();
}


******** end main.cpp



*********** OUPUT *********


2021-16-04 19:38.20 V
alt: 0.0 lat: 0.0
hdop: 0.0 lon: 0.0
speed: 0.0 km/h


*********** end OUTPUT


Are you going outside the building with a clear view to the sky?

Wait 5-10 minutes!

1 Like

Little detail in the code - the AIR530 does only support 2 at a time and not all combinations - use GPS & GLONASS or GPS & BAIDOU. GALILEIO is not supported from my understanding at all. Based on the code you have selected all 4.