MX-5 NA
Smart Lock
LILYGO T-SIM7670G-S3 • 4G LTE • BLE Proximity • GPS Tracking
für den Mazda MX-5 Cabrio • Baujahr 1991
„Sperrt auf wenn du kommst — zu wenn du gehst”
Mazda MX-5 NA • Waeco MagicSafe MS-650 • 17 Dateien • >3.000 Zeilen Code • Mai 2026
Das Problem
Deine Waeco MA-650 TX Funkfernbedienung funktioniert nur noch sporadisch:
Batterie
Alte Batterie
Funkschlüssel-Batterie schwach oder Kontakte korrodiert
Funk
Funkstörungen
433 MHz überlastet (Garagentore, Nachbarn)
Alter
Alterung
Waeco MA-650 TX — kein Nachbau — keine Ersatzteile
Lösung: Altes Waeco behalten, LILYGO T-SIM7670G-S3 parallel schalten!
Das Konzept
LILYGO T-SIM7670G-S3 + 3-Kanal Relais parallel zum Waeco MS-650 Empfänger — kein Eingriff in originale MX-5 Elektrik!
Handy (BLE) ━━━━━▶ LILYGO T-SIM7670G-S3
BLE Proximity Auto Auf/Zu bei Annaherung (<3m)
4G LTE (SIM7670) Status/GPS an grubmair.at
GPS (integriert) Live-Standort in Home Assistant
WebApp (PWA) Auf / Zu / Kofferraum / Key-Sharing
3x Relais (optokoppler)
=== Waeco MS-650 ===
LOCK UNLOCK TRUNK
ZV + Kofferraummotor
ESP32 (4G) HTTPS grubmair.at/mx5-api.php HTTP Home Assistant
Waeco-FB bleibt Backup 100% reversibel 4G LTE von uberall erreichbar
Features
Auf
Proximity Unlock
Du naherst dich (RSSI -60, ~1-3m) Turen entriegeln automatisch via BLE.
Zu
Auto Lock
Du entfernst dich (RSSI -80, ~8-15m) Auto verriegelt. 5s Hysterese-Filter.
Netz
4G LTE (SIM7670)
Auto ist von uberall erreichbar. Status alle 30s, GPS alle 60s. ~20/Jahr Datensim.
GPS
GPS Tracking
Live-Standort in Home Assistant. 4 Satelliten fur validen Fix. 60s Timeout.
App
Web-App (PWA)
Installierbar wie native App. Drei Buttons: Auf, Zu, Kofferraum. iOS & Android.
Key
Key-Sharing
Link an Freunde schicken zeitlich begrenzter Zugriff (1-24h). Widerrufbar.
Kof
Kofferraum (Long-Press)
Per App-Button oder verstecktem Taster GPIO33 — Long-Press >2s, verhindert versehentliches Öffnen. Funktioniert auch bei Zündung AN!
Zü
Zündungsüberwachung
GPIO1 liest Zündungsplus (Spannungsteiler 10k+3.3k). Lock/Unlock blockiert solange Motor läuft. Status in HA.
Sen
Mikroschalter ZV-Status
GPIO2 erkennt physischen Türzustand. Manuelles Aufsperren (Schlüssel/Waeco) wird erkannt + Push-Benachrichtigung.
Gast
Gast-Modus & Kippschalter
Auto-Lock deaktiviert per App (1-8h Timer) oder Kippschalter unterm Armaturenbrett.
HA
Home Assistant Sync
Status + GPS via REST API (grubmair.at/mx5-api.php). REST Sensor + Automationen.
Bauteile & Schaltplan
| Bauteil | Preis | Zweck |
| LILYGO T-SIM7670G-S3 | ~€50-65 | ESP32-S3 + 4G LTE Modem + GPS (integriert) |
| 3-Kanal Relais-Modul (Optokoppler) | ~€5 | Potentialtrennung zum Waeco MS-650 |
| LM2596 Step-Down (12V 5V) | ~€3 | Auto-Bordnetz auf ESP32-Spannung |
| Spannungsteiler Zündung (10kΩ + 3.3kΩ) | ~€0.10 | Zündungsüberwachung auf GPIO1 (ADC) |
| Kabel, Klemmen, Gehause | ~€10 | Verdrahtung & Schutz |
| Mikroschalter (NC/NO) | ~€2 | Status-Erkennung am ZV-Servomotor (GPIO2) |
| Kippschalter + Kofferraum-Taster | ~€5 | Lock-Deaktivierung (GPIO32) + Trunk (GPIO33, Long-Press >2s) |
| SIM-Karte (11 GB/Jahr) | ~€20/J. | 4G LTE Datenverbindung |
| Material gesamt | ~€72-87 | + ~€20/J. Datensim |
GPIO Belegung (LILYGO T-SIM7670G-S3)
| GPIO | Funktion | Details |
| GPIO25 | Relais 1 LOCK | Turen verriegeln (aktiv HIGH) |
| GPIO26 | Relais 2 UNLOCK | Turen entriegeln (aktiv HIGH) |
| GPIO27 | Relais 3 TRUNK | Kofferraum offnen (aktiv HIGH) |
| GPIO32 | Kippschalter | Lock-Deaktivierung (INPUT_PULLUP) |
| GPIO33 | Kofferraum-Taster | Long-Press >2s für Trunk (INPUT_PULLUP) |
| GPIO1 | Zündungssensor | ADC: Zündungsplus via Spannungsteiler |
| GPIO2 | Mikroschalter ZV | Erkennt physischen Türzustand (Schlüssel/Fernbedienung) |
| GPIO13 | Board-LED | Statusanzeige (integriert, leuchtet bei Zündung AN) |
| GPIO4/5 | SIM7670 PWR/RST | Power Key & Reset fur LTE Modem |
| GPIO17/18 | SIM7670 UART | TX/RX fur LTE + GPS |
Schaltplan (vereinfacht)
12V Bordnetz (Dauerplus)
LM2596 | WAECO MS-650 | Kofferraum-Motor | SIM Karte
12V5V | RX | (ML-11) |
| | |
LILYGO T-SIM7670G-S3 (ESP32-S3 + SIM7670 + GPS)
Zündungsplus (Klemme 15, 12V) ── 10kΩ ──┬── 3.3kΩ ── GND
│
GPIO1 (ADC)
GPIO25 Relais 1 (LOCK) Waeco Lock
GPIO26 Relais 2 (UNLOCK) Waeco Unlock
GPIO27 Relais 3 (TRUNK) Kofferraum-Motor
GPIO32 Kippschalter (Lock-Deaktivierung)
GPIO33 Kofferraum-Taster (Long-Press >2s)
GPIO17/18 SIM7670 UART (4G LTE + GPS)
GPIO4/5 SIM7670 Power/Reset
GND
Relais schalten masseseitig parallel zum Waeco. Kippschalter deaktiviert Auto-Lock fur Fremdfahrer.
Proximity-Logik (BLE RSSI)
Der ESP32 scannt alle 3s nach autorisierten Handys:
Hysterese: 5dBm + 5s stabil Kippschalter deaktiviert Proximity 30s Cooldown
Sicherheit
- Verschlusselte BLE-Verbindung kein Replay-Angriff
- API-Key geschtzt (mx5-smartlock-secret-key-2025)
- Watchdog-Timer alle 30s (ESP Task WDT)
- Rate-Limiting auf der PHP-API (10 Req/Min/IP)
- Waeco-Fallback + Kippschalter fur Fremdfahrer
- Batteriespannungsberwachung (ADC, Min: 3.3V, Kritisch: 3.0V)
- Zündungssperre: Lock/Unlock blockiert bei Motorlauf (GPIO1 ADC > 1.5V)
- Trunk Long-Press: Kofferraum nur bei >2s Tastendruck — kein versehentliches Öffnen
4G LTE & GPS Tracking
4G LTE (SIM7670)
- SIM7670 Modem integriert auf dem Board
- APN: web.vodafone.de (anpassbar)
- Status-Updates alle 30s via HTTPS
- Signalstrke berwachbar (0-31)
- 3 Init-Versuche bei Start
- Luft auch ohne LTE (nur BLE)
GPS Tracking
- GPS via SIM7670 (kein extra Modul)
- Update alle 60s
- 4 Satelliten fur validen Fix
- 60s Timeout fur GPS-Fix
- Daten: Lat, Lon, Alt, Speed, Satelliten
- Live in Home Assistant via REST API
API-Endpunkt
POST https://grubmair.at/mx5-api.php
{
"device_id": "mx5-na-smartlock",
"status": "online",
"lock_state": "locked|unlocked",
"trunk_state": "open|closed",
"guest_mode": false,
"battery_v": 12.3,
"rssi": -55,
"signal": 18,
"gps_lat": 48.1234,
"gps_lon": 14.5678,
"gps_speed": 0.0,
"timestamp": 123456
}
Header: X-API-Key: mx5-smartlock-secret-key-2025
Key-Sharing & App
Link teilen
Hol dir was aus dem Kofferraum!
- Per WhatsApp, Telegram, SMS
- Zeitlich begrenzt (1-24h, konfigurierbar)
- Token-basiert (Key-Sharing-Secret in config.h)
- Familie & Freunde
- Jederzeit widerrufbar (Token lschen)
PWA App-Mockup
MX-5 Smart Lock
4G LTE verbunden GPS fix Standort live
AUFSPERREN
ZUSPERREN
KOFFERRAUM
Auto-Lock: Aktiv
Gast-Modus: Aus
Link kopieren
GPS: 8 Satelliten
Installation in 5 Schritten
1
Waeco lokalisieren
Steuergert unterm Armaturenbrett. Signale mit Multimeter.
2
Relais + Kippschalter
Relais parallel lten. Kippschalter GPIO32.
3
Zündungs-Sensor
Spannungsteiler (10k+3.3k) an Zündungsplus (Klemme 15) auf GPIO1.
4
Board verbauen
LM2596 auf 5V. SIM rein. Antennen. Alles in Gehause.
5
Code flashen
config.h anpassen (MAC, APN, API-Key). pio run --target upload.
6: PHP-API auf grubmair.at + HA REST Sensor konfigurieren
2-3h Einbau ten 100% reversibel PlatformIO Projekt
Projekt-Dateien (>3.000 Zeilen)
Das komplette Projekt: /home/clawbot/shared_docs/MX5/
Firmware
main.cpp Hauptprogramm
config.h GPIOs, BLE-MACs, APN
ble_proximity BLE Scanning + RSSI
relay_control Relais + Gast-Modus
lte_comm 4G LTE Kommunikation
gps_tracker GPS Daten
web_server Web-App + PWA
status_led Board-LED
platformio.ini — Build-Konfiguration
API & Docs
mx5-api.php — REST API (450+ Zeilen)
README.md — Projektdokumentation
Nächste Schritte
- Board ankommen lassen (openelab.io)
- Handy-BT-MAC in config.h eintragen
- APN + API-Key anpassen
- PHP-API auf grubmair.at hochladen
- Code flashen & testen
- Im MX-5 verbauen
Zusammenfassung
OK
Auto sperrt auf wenn Markus kommt — zu wenn er geht
OK
Kofferraum per App oder Long-Press Taster (>2s, GPIO33) — auch bei Zündung AN
OK
Key-Sharing per Link, zeitlich begrenzt (1-24h)
OK
Zündungsüberwachung: Lock/Unlock blockiert bei Motorlauf (GPIO1, 2 Widerstände)
OK
Gast-Modus: Auto-Lock deaktivieren (App 1-8h / Kippschalter)
OK
4G LTE: Auto von überall erreichbar — ~€20/Jahr Datensim
OK
GPS Tracking: Live-Standort in Home Assistant via REST API
OK
~€70-85 Material + ~€20/J. Datensim — 2-3h Einbau
OK
Waeco-FB bleibt Backup — kein MX-5 Eingriff
OK
>3.000 Zeilen C++ — 17 Dateien — PlatformIO