aniker/docs/NEO-6M_SETUP.md
Richard Patching 4a32d32080
Some checks failed
Continuous Integration / Rust Checks (map[args:--all -- --check --color always command:fmt]) (push) Has been cancelled
Continuous Integration / Rust Checks (map[args:--all-targets --all-features --workspace -- -D warnings command:clippy]) (push) Has been cancelled
Continuous Integration / Rust Checks (map[args:--release command:build]) (push) Has been cancelled
Add build instructions
2025-04-16 21:00:32 +01:00

113 lines
3.0 KiB
Markdown

# NEO-6M GPS Module Setup Guide
## Overview
The NEO-6M is a cost-effective GPS module that provides reliable positioning data for the Aniker anchor alarm system. This guide covers the basic setup and configuration of the NEO-6M with the ESP32.
## Module Features
- High sensitivity: -161 dBm tracking
- Time-To-First-Fix:
- Cold start: 27s
- Hot start: 1s
- Position accuracy: 2.5m CEP (Circular Error Probable)
- Velocity accuracy: 0.1m/s
- Operating temperature: -40°C to 85°C
## Physical Setup
### Power Requirements
- Input voltage: 3.3V DC
- Current consumption: ~45mA at continuous operation
- Backup power (optional): 2.0V to 3.6V for faster satellite acquisition
### Pin Connections
1. **Power Pins**
- VCC → ESP32 3.3V
- GND → ESP32 GND
2. **Communication Pins**
- TX → ESP32 GPIO16 (RX)
- RX → ESP32 GPIO17 (TX)
### Antenna Considerations
- The module comes with a ceramic patch antenna
- Place the antenna facing upward with clear view of the sky
- Avoid metal objects directly above the antenna
- Keep antenna away from sources of interference
## Initial Testing
### LED Indicators
- Power LED: Should be constantly on
- Signal LED: Will blink when receiving data from satellites
### Expected Behavior
1. When first powered on, the module will begin searching for satellites
2. Initial position fix may take 30-60 seconds in optimal conditions
3. Signal LED will begin blinking once satellites are acquired
## Troubleshooting
### Common Issues
1. **No Power LED**
- Check 3.3V power connection
- Verify ground connection
- Check for short circuits
2. **No Signal Reception**
- Ensure clear view of sky
- Check antenna connection
- Move away from sources of interference
- Try outdoor testing first
3. **Intermittent Data**
- Check wire connections
- Verify baud rate settings
- Check for interference sources
### Testing Tips
- First test outdoors with clear sky view
- Allow up to 5 minutes for first fix
- Use serial monitor to verify data reception
- Verify correct UART configuration
## Software Configuration
### Default Settings
- Baud rate: 9600bps
- Update rate: 1Hz
- NMEA messages: GGA, RMC, GSA, GSV
### Serial Communication
```rust
// Example configuration in Rust
let config = uart::config::Config {
baudrate: 9600,
data_bits: uart::config::DataBits::DataBits8,
parity: uart::config::Parity::ParityNone,
stop_bits: uart::config::StopBits::STOP1,
};
```
## Performance Expectations
### Typical Performance
- Time to first fix: 30-60 seconds
- Position accuracy: 2.5m (open sky)
- Update rate: 1Hz
- Operating temperature: -40°C to 85°C
### Environmental Factors
- Performance degrades under cloud cover
- Indoor operation is not reliable
- Metal objects can cause interference
- Marine environment considerations:
- Salt spray protection needed
- Weatherproofing recommended
- Stable mounting required
## Future Improvements
- [ ] Add power saving modes
- [ ] Implement faster update rates
- [ ] Add configuration interface
- [ ] Optimize for marine use