The health of North Carolina beaches is an important ecological issue and as such it is necessary to track the state of erosion of said beaches. This project serves to knock out two birds with one stone :
- Provide data transfer capabilities for the beach rover being developed under UNCG research.
- Provide a future library for environmental UNCG Research projects that allows ARGOS transmission of arbitrary data.
For this specific research instance the idea is to have a Raspberry PI installed on the rover that then would communicate evnironmental data (such as geolocation, sensor readings, etc.) to an external embedded controller that would then send the information to a connected ARGOS shield, as shown below in Fig.1. A GPS Module would also be connected to the embedded controller for the sake of ensuring correct satellite connection given the rover's current positional data.
Fig.1 - Rudimentary device connection diagram.
There are two controllers that will be tested throughout this research for this task:
Fig.2 - Both embedded controllers shown in scale relative to each other.
The Arduino Nano is optimal given the familiarity and availability of the family of Arduino devices. In the documentation for the ARGOS transceiver shield however, only the SparkFun family of devices are listed as being compatible with the shield, so some of this research serves to find whether the transceiver shield is compatible with the Arduino Nano at all.
The GPS module is necessary so that GPS positioning info can be used to discern the closest ARGOS Stellite to connect to for the best connection. This module uses a Qwiic connection to connect to the SparkFun board. If the Nano is used instead of the Artemis, then a Qwiic connection shield needs to be used to connect the GPS module. That, or a seperate GPS module may be used.
The ARGOS sattelite transceiver shield is responsible for connecting to the ARGOS satellite network.
The Arduino Nano has no Qwiic connections so a shield will be necessary if the SparkFun GPS module is to be used.
- SparkFun Qwiic Cable Kit
- Qwiic connect cables are neccessary for connecting the GPS module to the Artemis
- ARGOS Omnidirectional Antenna - 401MHz
- The antenna is neccessary for the ARGOS transceiver to work properly. Per the device's documentation, it is possible that without the antenna, the reciever component of the transceiver shield can become damaged during operation.
- Variable Temperatrure Soldering Iron
Goal: Assemble all modules together.
The Artemis Sparkfun board will be connected to the GPS breakout module via qwiic cable, using I2C protocol, while the transceiver shield uses the SPI protocol. Given that they differ, the table below shows the equivalent SPI pins labeled on both the board and shield. Even though the transceiver shield is designed to be applied directly on top of the artemis, it will not be connected as such because 1. it will fascilitate familiarity with the connections and 2. the end goal is to connect the shield with the Arduino Nano, in which case the shield connection becomes useless.
SPI Equivalent | Artemis Board | ARGOS Shield |
---|---|---|
MISO | MISO | CIPO |
MOSI | MOSI | COPI |
SCK | SCK | SCLK |
NSS | CS |
Thus, the connections are as follows:
Artemis Board | ARGOS Shield |
---|---|
MISO | COPI |
MOSI | CIPO |
SCK | SCLK |
CS |
The Artemis board will use digital pin 4 as the slave select pin to controll the 'controller select' pin on the ARGOS shield.
Fig.3 - Layout of modules and their connections.
Fig.4 - After soldering the headers onto the modules, the elements can be assembled onto a breadboard and connected per Fig. 3.
(pending write-up)
Goal: Get artemis board connected and printing "Hello World" over Serial.
(pending write-up)
Goal: Get positional data from GPS module and print the GPS coordinates over Serial.
(pending write-up)
Goal: Using GPS data, send an initial test message "Hello Argos" to ARGOS satellite network using the satellite transceiver module.
(pending write-up)
Goal: Now understanding the process of using the transceiver shield properly, connect the transceiver shield to the Arduino Nano and try to relay data from the Nano.
(pending write-up)
Goal: Define a C library for UNCG research needs that allows an abstract data blob to be sent from the embedded device to the ARGOS network via a single function call.
(pending write-up)
Goal: Define functionality on the embedded controller so that it listens for serial input coming in from the Raspberry PI and upon receiveing properly formatted input data, the embedded device sends the data to the ARGOS network.
(pending write-up)
- Artemis Product Page
- Artemis Hookup Guide
- Artemis Resource Guide
- Artemis Development with Arduino
- Artemis Schematic
- SparkFun GPS Breakout Hookup Guide
- SAM-M8Q Datasheet
- SAM-M8Q Hardware Integration Manual
- u-blox GNSS Arduino Library
- SparkFun GPS Breakout Hardware Git Repo