- 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
14 KiB
Stripboard Layout Suggestion
This is a practical suggested layout for moving the current bench wiring onto stripboard. It is not a PCB netlist. It is a placement and routing plan intended to reduce wiring chaos while keeping the high-voltage VFD side separated from the low-voltage logic side.
Use this together with:
Design Goals
- keep
5V logicon one side - keep
VFD high voltageon the opposite side - keep the
HV5812Pbetween those two domains - bring all off-board wiring to clearly labeled edge connectors
- avoid crossing the gauge step/dir wiring through the VFD area
- make debugging possible with scope probes and a meter
Recommended Board Strategy
Use one main stripboard for:
- Arduino Mega interface headers
- HV5812P and its support wiring
- connectors for the VFD tube
- connectors for the three gauge drivers
- connector for the WS2812 strip
- connector for the ESP32 UART link
Do not mount the Arduino Mega itself onto stripboard. Use pin headers or screw terminals so the Mega remains removable.
If possible, also do not mount the ESP32 directly unless you already have a reliable carrier board for it.
Suggested Physical Zoning
Arrange the board in four zones from left to right:
Mega / ESP32 low-voltage I/O zoneGauge / LED connector zoneHV5812P driver zoneVFD high-voltage and tube connector zone
That gives you a left-to-right flow like this:
[ Mega / ESP32 ] [ Gauge + LED connectors ] [ HV5812P ] [ VFD + HV connectors ]
This is better than putting the HV5812 at the edge near the Mega, because the HV5812 is the boundary device between logic and high voltage.
Board Orientation
Assume the stripboard copper tracks run horizontally.
Recommended use:
- horizontal tracks for local distribution
- vertical jumps made with insulated wire links
Cut tracks aggressively around the HV5812P so it does not accidentally join unrelated nets through the copper strips.
Left Side: Mega / ESP32 Interface
Place a row of labeled pin headers or screw terminals for the signals coming from the Mega:
5VGNDD22D46D47D48D49D50D51D52D53RX1TX1
Place a second small header for the ESP32:
ESP32 TXESP32 RXESP32 GND
Keep these headers near one board edge so you can unplug and rework them easily.
Middle-Left: Gauge / LED Connectors
Place four connector groups near the Mega interface side:
Gauge 0DIRSTEPGND
Gauge 1DIRSTEPGND
Gauge 2DIRSTEPGND
WS2812DIN5VGND
This keeps all low-voltage off-board connections together.
Center: HV5812P Zone
Mount the HV5812P roughly in the center-right of the board.
Reason:
- logic-side control pins can approach from the left
- high-voltage outputs can leave to the right toward the VFD connector
Around the HV5812P:
- isolate each used pin with track cuts as needed
- keep short local links for
DATA,CLOCK,STROBE,BLANKING - keep
VDDdecoupling physically close to the chip
Recommended support parts close to the HV5812P:
100 nFceramic decoupling capacitor betweenVDDandGND- one larger bulk capacitor on the
5Vrail nearby, for example10 uFto47 uF
If you already use any datasheet-recommended support parts for the HV side, place them in this same zone.
Right Side: VFD Connector Zone
Put the VFD connectors on the far right side of the board, physically separated from the Mega headers.
Provide terminals or headers for:
HVOut1->AHVOut2->BHVOut3->CHVOut4->DHVOut5->EHVOut6->FHVOut7->GHVOut8->DPHVOut9->BELLHVOut10->GRID1HVOut11->GRID2HVOut12->GRID3HVOut13->GRID4HVOut14->GRID_IND
Also provide separate terminals for:
VPPGND- filament connections
Keep the filament connections away from the logic-side headers.
Suggested Power Buses
Use distinct buses and label them clearly:
5V LOGICGNDVPP
Recommended physical arrangement:
5Vbus along the top-left area onlyGNDbus available across the boardVPPbus only on the far-right HV area
Do not run a long exposed VPP strip through the entire board. Keep the high-voltage distribution short and local to the HV5812 and VFD connector side.
Suggested Routing
Mega to HV5812
Route these as short direct runs:
D46->DATAD47->CLOCKD48->STROBED49->BLANKING
These should pass from the left interface zone into the HV5812 zone without crossing the VPP area.
Mega to Gauges
Route these directly to the gauge connector blocks:
D50-> gauge 0DIRD51-> gauge 0STEPD8andD9If you are bringing these through the stripboard too, add them to the Mega header group and route them directly to gauge 1.D52-> gauge 2DIRD53-> gauge 2STEP
If D8 and D9 come from separate fly wires to the stripboard, keep them in the same low-voltage connector area as the rest of the gauge lines.
Mega to WS2812
Route:
D22-> main backlight/status stripDIND36-> indicator stripDIN5V-> both strip5VinputsGND-> both stripGNDinputs
Keep the LED connector in the low-voltage area.
ESP32 to Mega
If the stripboard is acting as the interconnect backplane:
ESP32 TX->Mega RX1ESP32 RX->Mega TX1ESP32 GND->GND
Track Cuts and Links
Recommended stripboard discipline:
- every IC pin should be visually checked for unintended strip continuity
- cut under or near pins wherever two adjacent pins must not share the strip
- use insulated jumpers for crossings instead of relying on long exposed component leads
- use a continuity meter after every 5-10 wires added
For the HV5812P specifically:
- assume most adjacent pins must not be left on the same uninterrupted strip
- cut first, then add intentional links
Physical Separation Rules
Keep these separations:
- logic and UART wiring away from
VPP - VFD output traces away from ESP32 and Mega headers
- gauge step/dir traces away from VFD high-voltage outputs where possible
If you can, leave at least one empty strip gap between low-voltage and high-voltage routing regions, and more where practical.
Labeling
Label the board directly with marker or printed tape.
At minimum label:
5VGNDVPPDINCLKSTRBLKG0 DIRG0 STEPG1 DIRG1 STEPG2 DIRG2 STEPLED DINRX1TX1A B C D E F G DP BELL G1 G2 G3 G4 GI
This matters more than aesthetics. A labeled board is much easier to repair later.
Practical Build Order
- Place and mark the four physical zones.
- Mount the low-voltage connector headers.
- Mount the HV5812P.
- Cut all required strips around the HV5812P before adding wires.
- Add
GNDand5Vlow-voltage distribution. - Add Mega-to-HV5812 logic lines.
- Add gauge and LED connector routing.
- Add
VPPand the VFD output connector routing. - Add the VFD filament connector.
- Verify continuity and shorts before any power is applied.
Recommended First Continuity Checks
Before power:
5Vis not shorted toGNDVPPis not shorted toGNDVPPis not shorted to5VD46/D47/D48/D49are only connected to the intended HV5812 pinsD50/D51/D52/D53/D8/D9are only connected to the intended gauge connectorsD22only goes to the WS2812 connectorRX1/TX1are not swapped at the stripboard labels
Suggested Board Size
For comfort rather than minimum size, use a board large enough to avoid crowding:
- roughly
100 x 160 mmor larger if you want good service access
Smaller is possible, but with mixed logic, UART, gauge control, LEDs, and VFD high voltage, cramped stripboard becomes harder to debug than a rat's nest.
Recommendation
If you want the cleanest result:
- use the stripboard only as an interconnect backplane
- keep the Mega, ESP32, and possibly the gauge drivers off-board on removable connectors
- keep the HV5812 and VFD connector area on the stripboard itself
That gives you most of the neatness benefit without forcing the whole system into one dense board.
ASCII Top View
This is a suggested top-view arrangement, not a strict scale drawing.
Top edge
+--------------------------------------------------------------------------------------------------+
| [Mega Header Block] [Gauge / LED Connectors] [HV5812P Zone] [VFD Zone] |
| |
| 5V GND D22 D46 D47 D48 D49 D50 D51 D52 D53 RX1 TX1 |
| o o o o o o o o o o o o o |
| |
| [ESP32 Header] |
| TX RX GND |
| o o o |
| |
| [Gauge 0] [Gauge 1] [Gauge 2] [WS2812] |
| DIR STEP G DIR STEP G DIR STEP G DIN 5V G |
| o o o o o o o o o o o o |
| |
| +----------------------+ |
| | HV5812P | |
| | | |
| 5V LOGIC BUS ============================================>| VDD | |
| GND BUS ============================================>| GND |==============|
| | DIN CLK STR BLK | |
| | ^ ^ ^ ^ | |
| +--|----|---|---|------+ |
| | | | | |
| | | | +---- D49 |
| | | +-------- D48 |
| | +------------ D47 |
| +----------------- D46 |
| |
| VPP terminal |
| o |
| | |
| HV AREA | |
| kept to right side only | |
| v |
| A B C D E F G DP BELL G1 G2 G3 G4 GI
| o o o o o o o o o o o o o o
| [VFD output connector block] |
| |
| FIL_A FIL_B GND/HVRET |
| o o o |
| [filament / HV return terminals] |
| |
+--------------------------------------------------------------------------------------------------+
Bottom edge
Reading The Sketch
- left side: all low-voltage headers from the Mega and ESP32
- center-left: gauge and LED connector blocks
- center-right: HV5812P
- far right:
VFD outputs, filament, and
VPP
This keeps the dangerous and noisy wiring concentrated on one side of the board.
Suggested Copper-Strip Use
If your strips run horizontally:
- use upper strips for low-voltage headers and distribution
- use middle strips for gauge and LED routing
- isolate the HV5812P pin rows heavily with track cuts
- use lower-right strips only for the VFD output area and
VPP
Suggested Connector Edge Placement
If you want the board to be easy to service:
- put Mega and ESP32 headers on the left edge
- put gauge and LED connectors on the bottom edge
- put VFD and high-voltage terminals on the right edge
That way:
- low-voltage control cables enter from the left and bottom
- high-voltage VFD wires leave only on the right
Minimum Clearance Advice
On stripboard, do not pack the VPP and VFD output terminals tightly against the low-voltage headers.
Practical suggestion:
- leave at least several empty holes / one empty strip region between the HV5812 logic-side routing and the
VPP/ VFD connector zone - if you have room, leave more than that
More separation is better than a dense layout here.