I reviewed the three files. They are intended to be used together:
- First file → main
.ino program
- Second file →
ui_assets.h for home/exhaust images
- Third file →
volume_assets.h containing volume screens 0–30
The GPIO assignments are correct:
- GPIO1/white/S2 → OPEN
- GPIO2/yellow/S1 → QUIET/CLOSE
The volume is currently display-only and will not control the Joying yet.
Install the three files
1. Replace the main program
- Open your Arduino sketch.
- Select the
.ino tab.
- Press Ctrl+A, then Delete.
- Open the first uploaded text file.
- Copy all its contents.
- Paste them into the empty
.ino tab.
The top should read:
#include <Arduino.h>
#include <M5Dial.h>
#include "ui_assets.h"
#include "volume_assets.h"
2. Replace ui_assets.h
- Select your existing
ui_assets.h tab.
- Press Ctrl+A, then Delete.
- Copy everything from the second uploaded file.
- Paste it into
ui_assets.h.
3. Add volume_assets.h
- Use the Arduino tab menu and select New Tab.
- Name it exactly:
- Copy everything from the third uploaded file.
- Paste it into that tab.
The volume file is extremely large, so Arduino may pause briefly while pasting or saving it.
Test safely
- Disconnect the Valvetronic remote wires initially.
- Confirm Arduino shows all three tabs:
- Main
.ino
ui_assets.h
volume_assets.h
- Click Verify.
- If verification succeeds, click Upload.
- Rotate the knob:
- Clockwise should increase volume.
- Counterclockwise should decrease it.
- The volume screen should return home after 1.5 seconds.
- Single press should do nothing.
- Double-press should alternate the OPEN and QUIET screens.
This version removes Serial commands and only previews volume—it does not send radio commands yet. If verification fails, send only the final 20–30 lines of the error instead of the entire output.