curious about using AGT artemis global tracker as multichannel IOT device

I’ve done an arduino project before using the packet radio stuff

Now we want to use iridium to collect telemetry data from remote instruments

I have seen various projects which use a 9602 and a GPS module and an arduino to assemble and send the SBD packets

I get the sense that the AGT already has an integrated iridium modem, GPS, and an arduino ?

I feel a bit confused by the plethora of options and am open to suggestions for a semi-optimal configuration

Ideally the resultant system would have the capability of:

1 or 2 analog IN

2 or 3 Digital IN

1 Digital counter input for measuring period / frequency

1 or 2 Digital OUT

If not too hard: RS485 for retrieving device data via Modbus RTU

If the AGT WRL-18712 can handle a chunk of that and maybe use a Uno or Nano for additional IO

Alternatively a RockBlock 9602 WRL-13745 plus a GPS board - of which there appears to be one official plethora

among them GPS Receiver - LS20031 5Hz (66 Channel) GPS-08975 (on sale - does that mean it is deprecated ?)

I notice that there is a combined Iridium/GPS/Glonass antenna GPS-16838

and also RockBLOCK External Patch Antenna WRL-14580 ROHS which brings up the question of

RF connections… perhaps the combined antenna is directly intended for AGT ?

So… if someone has any sage advice on how to tie all these bits of string into a rational choice,

I would much appreciate it.

Hi Kurt,

(It helps if you can ask your question in just one place, then we can keep all the answers together…)

Analog In: The AGT breaks out several of the Artemis analog/digital pins (marked as “AD”). These can read analog voltages between 0V and 2V. I count 6 AD pins broken out on the AGT.

Digital In / Out: I count another 4 standard 3.3V digital I/O GPIO pins (marked as “D”) broken out. These can be used for in or out

Digital Counter: you could achieve this using a digital pin with interrupt capability - measuring (and averaging) the time between interrupts in a short interrupt-service-routine. IIRC you could use any of the above Artemis analog and digital pins for this. I think they are all interrupt-capable. (But I might be getting my processors mixed up!)

RS485: this is the tricky one. Artemis only has two hardware UARTs. One is dedicated to the USB port. The second is linked to the Iridium 9603. So this is where you could use another board (e.g. a Nano) to act as a bridge to convert RS485 serial and output it via I2C. The AGT provides access to the Artemis I2C pins - and SPI too. You would end up with the AGT + Nano + Mkr Shield linked together on a breadboard. You would need to write the code for both Nano and Artemis, but it should be possible to reuse existing examples for that.

The AGT has a u-blox ZOE-M8Q GNSS on board - interfaced via I2C. The GNSS and Iridium 9603 share the antenna connection - an on-board RF switch connects one or the other to the antenna. You can only use one or the other, not both simultaneously, but that really isn’t an issue. You structure your code so it gets the time and position from the GNSS, and then switches to Iridium to uplink the data. You do need a combined passive Iridium + GNSS antenna. GPS-16838 is the one you need.

If RS485 is essential, then it might be easier to take a different approach. You could use one of our ESP32 boards, which have several hardware-UART-capable pins available. Qwiic Iridium 9603N SPX-16394 is an Iridium 9603 with an I2C (Qwiic) interface, so it wouldn’t take up a UART port. You could add a u-blox GNSS board, also interfaced via I2C (Qwiic). But you would need separate Iridium and GNSS antennas for this configuration. Add a SparkFun Transceiver Breakout - RS-485 BOB-10124 to do the RS485 level shifting and connect it to hardware UART pins on the processor. Depending on which processor board you choose, you should be able to get a microSD socket included for data storage / logging. With ESP32, you also get WiFi and Bluetooth connectivity if you need it. Worth thinking about.

I hope this helps,

Paul