Files
arduino_gauge_controller/README.md
Adrian A. Baumann 8bdae1da9b Update docs and firmware for ESPHome bridge migration
- Replace gauge.py (MicroPython) references with gaugecontroller.yaml (ESPHome)
- Update CLAUDE.md and README.md to document ESPHome-native API integration
- Update LED wiring docs for separate main/indicator strips (D22/D36)
- Refactor Arduino firmware to drive two WS2812 strips independently
- Add per-gauge physical offset caching for main and indicator LEDs
- Frame-limit breathe effect (16ms) to reduce unnecessary strip refreshes
2026-04-29 19:03:22 +02:00

2.2 KiB

arduino_gauge_controller

A dedicated gauge controller for Arduinos.

Overview

This repository contains:

  • Gaugecontroller/Gaugecontroller.ino: the Arduino Mega firmware for the stepper gauges, LEDs, and integrated HV5812-based VFD
  • gaugecontroller.yaml: the ESPHome-based ESP32 firmware that exposes the gauges and VFD to Home Assistant via the native API

VFD Support

The integrated gauge controller now includes a 4-digit VFD with:

  • 4 alphanumeric digits
  • decimal point indicator
  • alarm bell indicator

On the merged Arduino firmware, the HV5812 control pins are:

  • D46 -> DATA
  • D47 -> CLOCK
  • D48 -> STROBE
  • D49 -> BLANK/OE

The standalone VFD sketch used D51/D52/D53/D49, but 51/52/53 conflict with the gauge stepper pins in the integrated controller.

Arduino Serial Commands

The merged Arduino firmware accepts:

  • VFD clears the display and turns off decimal point and alarm bell
  • VFD 1234
  • VFD 0123
  • VFD DEAD
  • VFD 8888.
  • VFD BEEF!
  • VFD 12AF.!

Rules:

  • up to 4 characters are displayed
  • valid characters are 0-9, A-F, and -
  • . enables the decimal point
  • ! enables the alarm bell
  • shorter values are right-aligned
  • leading zeroes are preserved if they are part of the input

Home Assistant Integration

The ESPHome firmware in gaugecontroller.yaml exposes entities to Home Assistant via the native API:

Gauge Controls

  • Number entities for each gauge's target value (with unit conversion)
  • Number entities for speed and acceleration (diagnostic)
  • Rezero buttons for each gauge and all gauges

VFD Display

  • VFD Display: text entity for the displayed value
  • VFD Decimal Point: switch entity
  • VFD Alarm: switch entity

The display is intentionally exposed as a text entity rather than a numeric entity so that:

  • leading zeroes are preserved
  • hexadecimal values like DEAD or BEEF work
  • clearing the display is possible with an empty value

LED Controls

  • RGB light entity for each gauge's backlight with effects (Blink, Breathe, Double Flash)
  • Binary light entities for each gauge's red/green indicators and status lights

Diagnostics

  • WiFi signal sensor
  • Uptime sensor
  • IP address and SSID text sensors
  • Arduino Last Message sensor