Third Eye Kit, Node D: Location Telemetry (Belt/Pack) ========================================================= MICROCONTROLLER: Arduino Mini Pro (5V) GPS MODULE WIRING (NEO-6M): ────────────────────────────── Module Pin | Arduino Pin | Function ───────────────────────────────────── RX | D0 | Hardware Serial [see NOTE below] TX | D1 | Hardware Serial [see NOTE below] VCC | +3.3V | Power GND | GND | Ground GSM MODULE WIRING (SIM800-class): ──────────────────────────────────── Module Pin | Arduino Pin | Function ───────────────────────────────────── RX | D2 | SoftwareSerial RX TX | D3 | SoftwareSerial TX VCC | +4.2V (regulated) | Power GND | GND | Ground KEY | D8 | Power control (module on/off) POWER: ────── Lithium cell (per node_d.ino header comment) GSM module requires a separately regulated +4.2V supply (per BUILD.md); do not power SIM800-class modules directly from an unregulated cell. FIRMWARE CONFIGURATION (node_d.ino): ──────────────────────────────────── #define GPS_BAUD 9600 // GPS (NEO-6M) baud rate, hardware Serial #define GSM_RX_PIN 2 // GSM SoftwareSerial RX #define GSM_TX_PIN 3 // GSM SoftwareSerial TX #define GSM_BAUD 9600 // GSM (SIM800) baud rate #define GSM_KEY_PIN 8 // GSM module power-key control PROVISIONING NOTES: ──────────────────── - Authorized phone numbers are configured in firmware, not wiring, see BUILD.md Step 5.2 (AUTHORIZED[] allowlist) before field deployment - Verify 2G coverage in the deployment area before relying on this node (BUILD.md Step 5.1 / 5.3) TESTING: ──────── 1. Upload firmware to Arduino Mini 2. Open Serial Monitor (9600 baud) 3. Power on Node D with SIM inserted 4. Watch for GPS fix and "GSM: registered on 2G" status 5. Trigger a location request by calling/SMSing from an authorized number 6. Expect a reply within 30 seconds with GPS coordinates TROUBLESHOOTING: ───────────────── - No GSM response: check GSM_KEY_PIN (D8) toggling and module power supply (+4.2V) - No GPS fix: check VCC (+3.3V)/GND wiring and antenna placement outdoors - SMS not sent: verify AUTHORIZED[] contains the requesting number NOTE: ───── - Both node_d.ino's inline comment ("GPS Module (NEO-6M), RX = pin 0 (hardware Serial), TX = pin 1") and BUILD.md describe the GPS module on D0/D1 (the AVR's single hardware UART). node_d.ino also calls Serial.begin(9600) on that same hardware UART for USB debug logging. Neither BUILD.md nor node_d.ino documents how GPS traffic and USB debug logging share that one hardware serial port without colliding, this is a genuine gap in the existing docs/source, not resolved here.