Get Chip ID from chipset

Is possible to get unique Chip ID/Number from ASR6501 chipset ?


yes it is:


will give you the Chip-ID

OK, works, thank you.
Is possible to get this from arduino code, not serial ? I do not want to use LoRaWAN library and my serial port is used to the connection with GPS module.


The ASR6501 only provided one UART, and it’s already connected to the CP2102 USB-UART bridge. If you use this UART to read GPS data, may cause some problem.

Anyway, @wasn had added a software serial GPS example:

We will update a ChipID read example later.

BTW. Why do you need the ChipID for your GPS application?

I solved to read the gps module serial problem, I know it is rigidly connected to CP2102.
I need to retrieve the device’s unique number to identify it later in the database.
Software Serial is in early implementation, I prefer hardware.
I wait on ChipID read example…


Hi @bonmis

Here is the example:

BTW. Would you like to share the process about how did you solve the GPS connect to hardware UART problem?

Thank you for the code.

Problem is when CP2102 is powered from 5V. If we supply the board with a battery connector the CP2102 is not powered and RX / TX pins can be used and no problem with transmission…
I made a detection system when the 5V power supply is connected and then disconnected the GPS module power supply to use the serial from USB via a bridge.
The second solution is to cut the RX / TX paths between CP2102 and ASR6501 and use jumpers for programming time.
You just have to remember not to use the 5V power supply


@Supporter @wasn
What library version is use in this example?

I using Version 1.0.2b >>> TinyGPSPlus to run this example TinyGPS
but it’s complied error show below picture What should i do to fix this error?

Thanks you

You will some extra math function declaration.
I am own the road right now but you can find it in this forum

If you have any time please tell me for detail about this.

Please use the search function and you will find this from


I’m using TinyGPS++ and I had to add this to TinyGPS++.cpp:

#define PI           (M_PI)
#define HALF_PI      (M_PI / 2.0)
#define TWO_PI       (M_PI * 2.0)
#define DEG_TO_RAD   (M_PI / 180.0)
#define RAD_TO_DEG   (180.0 / M_PI)

#define radians(deg) ((deg)*DEG_TO_RAD)
#define degrees(rad) ((rad)*RAD_TO_DEG)
#define sq(x)        ((x)*(x))

I got a linker collision deep in a Cubecell library from memory too, and had to comment out a definition (unused) there.


Thank so much, Done compiling I will test module later