Antenna Interference & Servo EMI
RF Interference & Servo Motor EMI
Section titled “RF Interference & Servo Motor EMI”Problem: Battery level stops transmitting after case is closed. GPS still works. Servo is active.
Root cause: Servo motor generates broadband noise (commutator arcing) that couples into I2C bus and antenna circuits.
Why Servo Causes EMI
Section titled “Why Servo Causes EMI”Commutator Arcing
Section titled “Commutator Arcing”Brushed DC motors generate microarcs (nanosecond pulses) at each brush contact. Each spark = impulse with spectral content up to 1 GHz and beyond.
| Frequency | Noise Level | Affected Systems |
|---|---|---|
| 1 MHz – 100 MHz | -20 dBm typical | PWM harmonics, I2C, analog circuits |
| 100 MHz – 1 GHz | -40 to -60 dBm | GPS L1 (1575 MHz), LTE RX, LNA input |
Peak Current Spikes
Section titled “Peak Current Spikes”Servo startup: 300–700 mA for 1–3 seconds. Inadequate filtering → voltage droop → noise injection into analog rail.
Back-EMF Spikes
Section titled “Back-EMF Spikes”Motor coil inductance generates 50–100 V spikes when servo stops. Without protection:
- Can exceed MOSFET rating
- Couples RF noise onto power rails (antenna effect)
- Causes I2C communication errors
Impact on Cloudlock Systems
Section titled “Impact on Cloudlock Systems”GPS Reception (Most Vulnerable)
Section titled “GPS Reception (Most Vulnerable)”- Expected signal: -130 dBm
- GPS front-end noise figure: 1–2 dB
- If servo EMI > -80 dBm near antenna → GPS can’t lock
Observed: GPS continues (separate cable, better isolation). Battery level sensor (I2C, on-board) fails.
Battery Fuel Gauge (I2C Vulnerable)
Section titled “Battery Fuel Gauge (I2C Vulnerable)”- I2C operates at low voltages (3.3V logic swing)
- Servo noise couples onto I2C SCL/SDA lines
- Device responds with NAK (not acknowledge)
- Fuel gauge reading = 0 or invalid → not sent to Notehub
LTE Modem
Section titled “LTE Modem”- Usually more robust than GPS (designed for noisy environments)
- Higher SNR threshold than GPS
- Still affected if servo near Notecard RF section
Solutions (In Priority Order)
Section titled “Solutions (In Priority Order)”1. RC Snubber on Motor Terminals (Critical)
Section titled “1. RC Snubber on Motor Terminals (Critical)”Motor+ ──┬─ [10Ω 1W] ── [10nF/100V] ──┬─ Motor- │ (soldered directly on motor terminals) │ SMD 1210 size (fast response)Effect: Back-EMF spike reduced from -100V to -15V (safe). Broadband noise peak reduced by 20 dB.
Part: Vishay CRCW121010R0FKEA (10Ω) + Murata GRM32DR72A103KW01L (10nF)
2. Ferrite Bead on Servo Power Line (Critical)
Section titled “2. Ferrite Bead on Servo Power Line (Critical)”MOSFET Drain ── [Ferrite: Murata BLM18KG471SN1D] ── Servo V+Effect: High-frequency noise (>1 MHz) absorbed, low-frequency PWM unaffected. Suppresses antenna-mode RF emission from servo power wire.
3. Separate Power Rail for Servo (Important)
Section titled “3. Separate Power Rail for Servo (Important)”Battery → [MOSFET] → [LC filter: 10µH + 100µF] → Servo ↑ [GPIO control]Isolate servo spikes from MCU/GPS power. RC time constant ensures slow ramp, no sharp edges.
4. I2C Pull-Up Resistor Value (Careful)
Section titled “4. I2C Pull-Up Resistor Value (Careful)”- Notecard has built-in 2.2k pull-ups
- If XIAO also has pull-ups: don’t add external 4.7k (parallel = 1.4k, too strong, bus latency)
- If XIAO has none: add external 4.7k (good)
Check: Measure SDA/SCL voltage with multimeter when I2C idle. Should be 3.2–3.3V, not oscillating.
5. RF Shield Can Over GPS Front-End (Recommended)
Section titled “5. RF Shield Can Over GPS Front-End (Recommended)”Harwin S01 or Würth WE-SHC shield can over GPS LNA section gives 30–40 dB isolation from broadband servo noise.
6. Accelerometer-Based Gating (Elegant)
Section titled “6. Accelerometer-Based Gating (Elegant)”if (accelerometer_motion_detected() && servo_not_running) { enable_gps();} else { disable_gps();}Keep GPS off during servo operation → no interference.
PCB Layout Recommendations
Section titled “PCB Layout Recommendations”Floorplan: Separate Zones
Section titled “Floorplan: Separate Zones”┌─────────────────────────────────────────┐│ ZONE A: RF (GPS, LTE front-end) ││ [Keep servo area >100mm away] │├─────────────────────────────────────────┤│ ZONE B: Digital (MCU, I2C) ││ [Via fence between A and C] │├─────────────────────────────────────────┤│ ZONE C: Servo + Power ││ [LC filter, ferrite beads here] │└─────────────────────────────────────────┘Servo Traces
Section titled “Servo Traces”- Wide (≥2 mm) to reduce inductance
- Short, kept in ZONE C only
- 100Ω series resistor + ferrite on PWM signal line
- GND plane stitching (via spacing ≤10 mm)
I2C Traces
Section titled “I2C Traces”- Keep away from servo power lines
- 100nF bypass capacitor at each I2C device
- If >50 mm long: ferrite bead on SCL or common-mode choke on pair
Testing Procedure
Section titled “Testing Procedure”Test 1: GPS C/N0 (Signal-to-Noise)
Section titled “Test 1: GPS C/N0 (Signal-to-Noise)”1. Servo OFF, measure GPS C/N0 for satellites → baseline2. Servo ON (positioning), re-measure C/N03. Acceptable: <3 dB degradation4. Unacceptable: >5 dB drop (needs filtering)Test 2: I2C Communication
Section titled “Test 2: I2C Communication”1. Loop: read fuel gauge every 100 ms while servo OFF2. Repeat while servo running3. Count communication failures (CRC errors)4. Acceptable: 0 failures5. Unacceptable: >1% error rate (needs RC snubber)Test 3: LTE RSRP
Section titled “Test 3: LTE RSRP”1. Read Notecard RSRP (via card.wireless) with servo OFF2. Activate servo, re-read RSRP3. Acceptable: <5 dB differenceFrequency Isolation Strategy
Section titled “Frequency Isolation Strategy”If using multiple RF systems (LTE, GPS, Skylo satellite):
| Pair | Freq Gap | Isolation Needed | Method |
|---|---|---|---|
| GPS L1 ↔ LTE | 225 MHz | 30 dB | Distance (100 mm) + shield can |
| GPS L1 ↔ Iridium | 41 MHz | 40 dB | Notch filter + firmware muting |
| LTE ↔ Skylo | 450+ MHz | 20 dB | Ferrite bead + distance |
Critical: GPS L1 ↔ Iridium overlap is dangerous. If satellite TX active, disable GPS RX (firmware lock).
Summary Table: EMI Sources → Solutions
Section titled “Summary Table: EMI Sources → Solutions”| EMI Source | Symptoms | Quick Fix | Proper Fix |
|---|---|---|---|
| Back-EMF spike | I2C timeouts, reset | RC snubber | RC snubber + soft-start PWM |
| Servo power noise | GPS C/N0 drops | Ferrite bead | Separate servo rail + LC filter |
| PWM harmonics | I2C glitches | Ferrite on PWM | Common-mode choke on I2C pair |
| Broadband arcing | Battery level fails | Shield can | Proper grounding + via stitching |
| Antenna coupling | GPS lock loss | 100 mm spacing | Separate antennas + isolation |
Specific Recommendations for Cloudlock
Section titled “Specific Recommendations for Cloudlock”✅ Must do:
- Add RC snubber (10Ω + 10nF) directly on servo terminals
- Ferrite bead on servo power line (after MOSFET)
- Verify I2C pull-ups are correct (don’t double-up)
✅ Should do: 4. RF shield can over GPS/LTE front-end 5. Separate servo power rail with LC filter 6. Via stitching between RF and power zones
✅ Nice to have: 7. Common-mode choke on I2C if traces >50 mm 8. Firmware muting of GPS during servo operation 9. Accelerometer-gated GPS (only on while moving)