Wohnwagen ausrichten mit ESP32 – Neigung digital messen

Unterstützung des Kanals

Hinweis: Der folgende Link ist ein Affiliate-Link.

Die Erstellung meiner Skripte und Videos ist mit einem erheblichen zeitlichen Aufwand verbunden – von der technischen Vorbereitung über intensive Recherche bis hin zu Tests, Aufnahmen und Nachbearbeitung. Alle Inhalte stelle ich dir dennoch vollständig kostenlos zur Verfügung.

Wenn du meine Arbeit unterstützen möchtest, kannst du das ganz einfach tun: Für deine Amazon-Bestellungen nutze gern meinen Partner-Link. Für dich ändert sich am Preis nichts – ich erhalte lediglich eine kleine Provision. Vielen Dank für deinen Support!

Jetzt über Amazon unterstützen

👉 Direkt auf YouTube schauen und abonnieren:
Smart Home & more auf YouTube

Einleitung Wohnwagen ausrichten mit ESP32

Möchtest du die Neigung deines Wohnwagens oder anderer Geräte präzise messen – ganz ohne klassische Wasserwaage? In diesem Beitrag zeige ich dir, wie du mit einem MPU6050-Sensor, einem ESP32 (z. B. M5 Atom Lite) und ESPHome ein smartes Messsystem aufbaust. Egal, ob für Wohnwagen-Nivellierung, Solaranlagen, Kameraausrichtung – dieses Setup ist vielseitig einsetzbar.

Ein klein wenig Löten gehört dazu, aber keine Sorge: Ich erkläre dir Schritt für Schritt, wie du den Sensor anschließt, die Software einrichtest und die Daten in Home Assistant auswertest. Damit kannst du dein Smart Home noch präziser steuern!

MPU 6050

Wohnwagen ausrichten mit ESP32 - MPU 6050

Was du brauchst*

  • MPU6050 (Gyroskop + Beschleunigungssensor)
  • ESP32 / M5 Atom Lite oder Wemos D1 Mini
  • Jumperkabel
  • ggf. 3D-gedrucktes Gehäuse
  • Lötkolben und Lötzinn (für die Stiftleiste)
  • optional: DC-DC-Wandler für Wohnwagen-Stromversorgung
Angebot
M5Stack Atom Lite ESP32 IoT Entwicklungsboards und Kits | Development Kit C008
M5Stack Atom Lite ESP32 IoT Entwicklungsboards und Kits | Development Kit C008
M5Stack SKU: C008; ESP32-basiert, RGB-LED (SK6812); Eingebaute Infrarot; Erweiterbare Pins & Löcher
15,10 EUR
ELEGOO Jumper Wire 40 x 20cm Kabel Steckbrücken 3er-Set M2M/F2M/F2F | Steckbrücken kompatibel mit Arduino & ESP-32, farbcodierte, PVC-isolierte & teilbare, für Breadboard & DIY-Projekte
ELEGOO Jumper Wire 40 x 20cm Kabel Steckbrücken 3er-Set M2M/F2M/F2F | Steckbrücken kompatibel mit Arduino & ESP-32, farbcodierte, PVC-isolierte & teilbare, für Breadboard & DIY-Projekte
Lieferumfang: 1×40 Female – Female; 1×40 Male – Female; 1×40 Male – Male; Wir sind stets bemüht die Funktion unserer Produkte zu verbessern.
6,99 EUR
sourcingmap® 100Stk M2,5x6mm Edelstahl Metall Kreuzschlitz Flachkopf Blechschraube Schraube de
sourcingmap® 100Stk M2,5x6mm Edelstahl Metall Kreuzschlitz Flachkopf Blechschraube Schraube de
Herstellungsland: CHINA; Material: Edelstahl Metall; Reingewicht: 23g; Kopfsart: Flachkopf; Produktname: Blechschraube
8,59 EUR

Schritt-für-Schritt-Anleitung

1. Sensor verstehen & Ziel definieren

Der MPU6050 misst Beschleunigung und Drehung auf drei Achsen. Damit lassen sich Pitch und Roll berechnen – ideal, um die Neigung eines Wohnwagens zu visualisieren. Der Berechnung liegt folgende Formel zugrunde.

📏 Pitch-Berechnung (Neigung nach vorne/hinten):

1. Sensor verstehen & Ziel definieren – Wohnwagen ausrichten mit ESP32 – Neigung digital…

⚙️ Roll-Berechnung (Neigung seitlich):

1. Sensor verstehen & Ziel definieren – Wohnwagen ausrichten mit ESP32 – Neigung digital…

Ziel: Ich will im Wohnwagen die Ausrichtung sehen, ohne externe Wasserwaage – einfach direkt auf dem Smartphone oder im Home Assistant.


2. Gehäuse vorbereiten und löten

Ich nutze ein 3D-gedrucktes Gehäuse, das mir ein Kollege netterweise konstruiert hat.

STL File:

🔧 Lötarbeiten

  • Abgewinkelte Stiftleiste unten anlöten
  • Platine flach auf Tisch legen, Lötkolben sauber ansetzen
  • Keine Sorge: auch als Lötanfänger bekommst du das hin
Wohnwagen ausrichten mit ESP32 - Löten

3. 3D-Druck vorbereiten

Ich verwende PETG als Material, schwarz, mit Stützstruktur – Druckzeit: ca. 14 Minuten.

Nach dem Druck:

  • Sensor einsetzen
  • Deckel mit zwei M2,5 x 6,5 DIN 7981 Schrauben befestigen


4. Elektronik verbinden

🧩 Verdrahtung

MPU6050 PinESP32 (M5 Atom Lite)
VCC3.3 V
GNDGND
SDAGPIO26
SCLGPIO32

Für den Betrieb im Wohnwagen empfehle ich einen DC-DC-Wandler, um aus 12 V → 5 V zu erzeugen.


5. ESPHome konfigurieren

📋 YAML-Konfiguration

  1. Neues Gerät in ESPHome erstellen: Camper Video
  2. Plattform auswählen: ESP32 oder M5 Atom
  3. i2c: Schnittstelle konfigurieren (GPIO26 und GPIO32)
  4. Sensor anlegen (MPU6050, Adresse: 0x68)
  5. Template-Sensoren für Pitch und Roll erstellen
  6. Button zur Kalibrierung hinzufügen

💡 Tipp: Kalibriere auf einer ebenen Fläche, z. B. mit einer Wasserwaage

#####--Dieser Teil wird automatisch generiert --######
esphome:
  name: camper-video
  friendly_name: Camper_Video

esp32:
  board: m5stack-atom
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "eKFfU/O1Bk+XdekfHvXhGIsniLzxDfkQNbtqox78GPQ="

ota:
  - platform: esphome
    password: "2c3c0ff4307677331abdaa79a3be80ee"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Camper-Video Fallback Hotspot"
    password: "9bnmbqdXxG3s"

captive_portal:
#####--Ende automatischer Teil, ab hier kopieren! --######

i2c:
  - id: grove
    sda: 26
    scl: 32

globals:
  - id: pitch_offset
    type: float
    initial_value: '0.0'
    restore_value: true
  - id: roll_offset
    type: float
    initial_value: '0.0'
    restore_value: true

sensor:
  - platform: mpu6050
    address: 0x68
    update_interval: 0.1s
    accel_x:
      name: "MPU6050 Accel X"
      id: accel_x
      internal: true
    accel_y:
      name: "MPU6050 Accel Y"
      id: accel_y
      internal: true
    accel_z:
      name: "MPU6050 Accel Z"
      id: accel_z
      internal: true
    temperature:
      name: "MPU6050 Temperature"
      internal: true
    gyro_x:
      name: "MPU6050 Gyro X"
      internal: true
    gyro_y:
      name: "MPU6050 Gyro Y"
      internal: true
    gyro_z:
      name: "MPU6050 Gyro Z"
      internal: true

  - platform: template
    name: "Neigung Pitch"
    id: pitch
    icon: mdi:caravan
    unit_of_measurement: "°"
    accuracy_decimals: 1
    update_interval: 0.1s
    lambda: |-
      if (isnan(id(accel_x).state) || isnan(id(accel_y).state) || isnan(id(accel_z).state)) {
        return NAN;
      }
      float raw = atan2(id(accel_y).state, sqrt(pow(id(accel_x).state, 2) + pow(id(accel_z).state, 2))) * (180.0 / 3.14159265);
      return raw - id(pitch_offset);
    filters:
      - sliding_window_moving_average:
          window_size: 8
          send_every: 1
      - exponential_moving_average:
          alpha: 0.2

  - platform: template
    name: "Neigung Roll"
    id: roll
    icon: mdi:axis-x-rotate-clockwise
    unit_of_measurement: "°"
    accuracy_decimals: 1
    update_interval: 0.1s
    lambda: |-
      if (isnan(id(accel_x).state) || isnan(id(accel_z).state)) {
        return NAN;
      }
      float raw = atan2(-id(accel_x).state, id(accel_z).state) * (180.0 / 3.14159265);
      return raw - id(roll_offset);
    filters:
      - sliding_window_moving_average:
          window_size: 8
          send_every: 1
      - exponential_moving_average:
          alpha: 0.2

button:
  - platform: template
    name: "Kalibriere Neigung"
    id: calib_button
    on_press:
      then:
        - lambda: |-
            id(pitch_offset) = atan2(id(accel_y).state, sqrt(pow(id(accel_x).state, 2) + pow(id(accel_z).state, 2))) * (180.0 / 3.14159265);
            id(roll_offset) = atan2(-id(accel_x).state, id(accel_z).state) * (180.0 / 3.14159265);
            ESP_LOGI("main", "Kalibrierung durchgeführt: pitch_offset=%.2f, roll_offset=%.2f", id(pitch_offset), id(roll_offset));

6. Sensor kalibrieren

Durch einen Button in ESPHome kannst du mit einem Klick den Sensor nullen. Die aktuellen Werte werden als Offset gespeichert und dauerhaft berücksichtigt.

6. Sensor kalibrieren – Wohnwagen ausrichten mit ESP32 – Neigung digital…

7. Integration in Home Assistant

Hinweis 02.07.2025 : Aktuell wurde die HACS Bar Card aus dem HACS Repository entfernt. Es gibt allerdings einen Fork, den man genauso verwenden kann. https://github.com/spacerokk/bar-card.

Verwende HACS + Bar Card, um die Neigungsdaten stilvoll anzuzeigen:

Pitch

type: custom:bar-card
title: Pitch
min: -40
max: 40
height: 40px
icon: mdi:caravan
animation:
  state: "off"
  speed: 1
severity:
  - from: -180
    to: -10
    color: red
  - from: -10
    to: -1
    color: yellow
  - from: -1
    to: 1
    color: green
  - from: 1
    to: 10
    color: yellow
  - from: 10
    to: 180
    color: red
positions:
  icon: outside
  indicator: "off"
  name: "off"
  value: inside
entities:
  - entity: sensor.fuellstand_frischwasser_neigung_pitch #hier durch eigenen Sensornamen ersetzen


Roll
type: custom:bar-card
title: Roll
min: -40
max: 40
height: 40px
icon: mdi:axis-x-rotate-clockwise
animation:
  state: "off"
  speed: 1
severity:
  - from: -180
    to: -10
    color: red
  - from: -10
    to: -1
    color: yellow
  - from: -1
    to: 1
    color: green
  - from: 1
    to: 10
    color: yellow
  - from: 10
    to: 180
    color: red
positions:
  icon: outside
  indicator: "off"
  name: "off"
  value: inside
entities:
  - entity: sensor.fuellstand_frischwasser_neigung_roll  #hier durch eigenen Sensornamen ersetzen !

8. Einbau im Wohnwagen

In meinem Wohnwagen war bereits ein Atom M5 Lite für die Füllstandsanzeige installiert – ideal zum Nachrüsten. Die Stromversorgung hole ich vom vorhandenen DC-DC-Wandler ab.

8. Einbau im Wohnwagen – Wohnwagen ausrichten mit ESP32 – Neigung digital…


Fazit

Mit wenigen Komponenten und etwas Bastelarbeit bekommst du ein richtig cooles Feature für deinen Camper oder Wohnwagen: digitale Neigungsmessung mit Liveanzeige im Smart Home. Ideal, um sich die Nivellierung zu erleichtern – besonders auf unebenen Stellplätzen.


Komplette Playlist: Home Assistant im Camper

Häufige Fragen (FAQ)

Welche Hardware brauche ich für die Neigungsmessung?

Einen MPU6050 (Gyroskop und Beschleunigungssensor), einen ESP32 wie den M5 Atom Lite oder einen Wemos D1 Mini, Jumperkabel, Lötkolben und Lötzinn, optional ein 3D-gedrucktes Gehäuse und einen DC-DC-Wandler für die Stromversorgung im Wohnwagen.

Muss ich wirklich löten?

Ja, die abgewinkelte Stiftleiste wird unten an die Platine gelötet. Platine flach auf den Tisch legen und den Lötkolben sauber ansetzen, das klappt auch als Lötanfänger.

Wie wird der MPU6050 mit dem M5 Atom Lite verbunden?

VCC an 3,3 V, GND an GND, SDA an GPIO26 und SCL an GPIO32. In ESPHome konfigurierst du den i2c-Bus mit diesen Pins und den Sensor mit der Adresse 0x68.

Wie kalibriere ich den Sensor?

Über den Button „Kalibriere Neigung“ in ESPHome. Lege das Gerät dafür auf eine ebene Fläche, zum Beispiel mit einer Wasserwaage geprüft; die aktuellen Werte werden als Offset dauerhaft gespeichert.

Wie versorge ich den ESP32 im Wohnwagen mit Strom?

Mit einem DC-DC-Wandler von 12 V auf 5 V. Tobias holt die Versorgung vom bereits vorhandenen Wandler ab, der auch den Atom für die Füllstandsanzeige speist.

Die Bar Card ist nicht mehr in HACS – was kann ich nutzen?

Es gibt einen Fork unter github.com/spacerokk/bar-card, der genauso funktioniert. In den Card-Codes für Pitch und Roll musst du nur den Sensornamen durch deinen eigenen ersetzen.

Über den Autor

Tobias Lerch betreibt Smart Home & more – praxisorientierte Anleitungen zu Home Assistant, Proxmox, NAS, EVCC, Netzwerk und Camping-Technik. Alles aus eigener Erfahrung, ohne Marketingsprache.