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ü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

BauteilPreisZweck
LILYGO T-SIM7670G-S3~€50-65ESP32-S3 + 4G LTE Modem + GPS (integriert)
3-Kanal Relais-Modul (Optokoppler)~€5Potentialtrennung zum Waeco MS-650
LM2596 Step-Down (12V 5V)~€3Auto-Bordnetz auf ESP32-Spannung
Spannungsteiler Zündung (10kΩ + 3.3kΩ)~€0.10Zündungsüberwachung auf GPIO1 (ADC)
Kabel, Klemmen, Gehause~€10Verdrahtung & Schutz
Mikroschalter (NC/NO)~€2Status-Erkennung am ZV-Servomotor (GPIO2)
Kippschalter + Kofferraum-Taster~€5Lock-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)

GPIOFunktionDetails
GPIO25Relais 1 LOCKTuren verriegeln (aktiv HIGH)
GPIO26Relais 2 UNLOCKTuren entriegeln (aktiv HIGH)
GPIO27Relais 3 TRUNKKofferraum offnen (aktiv HIGH)
GPIO32KippschalterLock-Deaktivierung (INPUT_PULLUP)
GPIO33Kofferraum-TasterLong-Press >2s für Trunk (INPUT_PULLUP)
GPIO1ZündungssensorADC: Zündungsplus via Spannungsteiler
GPIO2Mikroschalter ZVErkennt physischen Türzustand (Schlüssel/Fernbedienung)
GPIO13Board-LEDStatusanzeige (integriert, leuchtet bei Zündung AN)
GPIO4/5SIM7670 PWR/RSTPower Key & Reset fur LTE Modem
GPIO17/18SIM7670 UARTTX/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:

RSSI -60~1-3mAuto aufsperren
RSSI -60 bis -80~3-8mNichts tun
RSSI -80~8-15mAuto zusperren
< -90 / kein Signal> 15mVerriegelt lassen

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