Can I use my Photon in the Electron Asset Tracker board: replace the defunct Electron

Can I put a Photon in the Electron Asset Tracker board?

My Electron is deprecated - It only is 5 years old. Ugh. But I have the Asset Tracker board that came with the kit.

Can I use the Photon which has the same Pins as the Electron except Photon stops at A0 / D0 to run the GPS / Accelerometer on the Asset Tracker board?

Anyone tried this?

When we use the term Deprecated, we mean that you can no longer purchase the device, and there will no new features. While Device OS 4.x and 5.x do not support the Electron (or the Photon), you can still use them with 2.x and 3.x, and cloud support is still available.

On the other hand, if you have an Electron U260, live in the United States, and do not have T-Mobile coverage, then you are stuck since AT&T has stopped providing any 2G or 3G service.

And yes, you can plug the Photon into Electron AssetTracker shield.

1 Like

Hi Rick,
Thank you for your quick and informative response. I am in the US and where I am the T-Mobile coverage is weak.

FYI:
I just tried with the Photon installed in the Asset Tracker Shield. I can get it to work using the Tiny GPS ++ library, but with the Particle standard test code named “AT_GPS_Features.ino” that has the Adafruit code included I get a compile error that seems to be a problem with the code in the Adafruit library.
It seems to be in the “Adafruit_LIS3DH.cpp” accelerometer section. (It compiles with the Electron as the device but not the Photon)

If you have any insights or can help that would be great.

Thanks again.

Here is a snapshot of the error:
Compile of AT_GPS_Features.ino

Error:
lib/Adafruit_LIS3DH/Adafruit_LIS3DH.cpp:320:1: no return statement in function returning non-void [-Werror=return-type]

Details (RAW):

lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h: In constructor ‘Adafruit_LIS3DH::Adafruit_LIS3DH()’:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:233:29: warning: ‘Adafruit_LIS3DH::_sck’ will be initialized after [-Wreorder]
233 | int8_t _cs, _mosi, _miso, _sck;
| ^~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:229:11: warning: ‘int32_t Adafruit_LIS3DH::_sensorID’ [-Wreorder]
229 | int32_t _sensorID;
| ^~~~~~~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:40:1: warning: when initialized here [-Wreorder]
40 | Adafruit_LIS3DH::Adafruit_LIS3DH()
| ^~~~~~~~~~~~~~~
In file included from lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:31:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h: In constructor ‘Adafruit_LIS3DH::Adafruit_LIS3DH(int8_t)’:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:233:29: warning: ‘Adafruit_LIS3DH::_sck’ will be initialized after [-Wreorder]
233 | int8_t _cs, _mosi, _miso, _sck;
| ^~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:229:11: warning: ‘int32_t Adafruit_LIS3DH::_sensorID’ [-Wreorder]
229 | int32_t _sensorID;
| ^~~~~~~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:45:1: warning: when initialized here [-Wreorder]
45 | Adafruit_LIS3DH::Adafruit_LIS3DH(int8_t cspin)
| ^~~~~~~~~~~~~~~
In file included from lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:31:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h: In constructor ‘Adafruit_LIS3DH::Adafruit_LIS3DH(int8_t, int8_t, int8_t, int8_t)’:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:233:29: warning: ‘Adafruit_LIS3DH::_sck’ will be initialized after [-Wreorder]
233 | int8_t _cs, _mosi, _miso, _sck;
| ^~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.h:229:11: warning: ‘int32_t Adafruit_LIS3DH::_sensorID’ [-Wreorder]
229 | int32_t _sensorID;
| ^~~~~~~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:49:1: warning: when initialized here [-Wreorder]
49 | Adafruit_LIS3DH::Adafruit_LIS3DH(int8_t cspin, int8_t mosipin, int8_t misopin, int8_t sckpin)
| ^~~~~~~~~~~~~~~
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp: In member function ‘virtual bool Adafruit_LIS3DH::getEvent(sensors_event_t*)’:
lib/Adafruit_LIS3DH/src/Adafruit_LIS3DH.cpp:320:1: error: no return statement in function returning non-void [-Werror=return-type]
320 | }
| ^
cc1plus: some warnings being treated as errors
make[2]: *** […/build/target/user/platform-6-mAdafruit_LIS3DH/src/Adafruit_LIS3DH.o] Error 1
make[2]: Leaving directory `/firmware/user’
make[1]: *** [user] Error 2

you are cloud compiling (lib is outdated) so 2 options

  1. downgrade device os to 2.1.0
  2. download the lib from GitHub and add files manually

the error comes from here:

and here is the fresh one from GitHub

MS_R1

Best

I would switch to using the AssetTrackerRK library. It works much better than the official library and also compiles on recent versions of Device OS. It’s based on TinyGPS++.

1 Like

Yes on the Adafruit library fix thanks.
I just put the library in local to the app and fixed the missing “return true;”

Also for GPS with the Photon and tracker board. All set now using either Adafruit GPS as well as another version working with TinyGPS++

Thanks.
All set now!

1 Like

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