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
113 lines
3.0 KiB
Markdown
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 |