Skip to content

dornieden/FaderDock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FaderDock

FaderDock

DIY motorized fader kit for smart homes.

Physical control for scenes, automations and custom smart home workflows.

Documentation · GitHub


What is FaderDock?

FaderDock is a DIY motorized fader kit for people who want real, tactile control for their smart home automations, scenes, and custom integrations.

It is designed for makers, tinkerers, and builders who want a polished physical interface without losing the flexibility of an open system.

This repository contains the public firmware baseline for the first one-channel FaderDock alpha prototype.

Project status

Current firmware: 0.2.0-alpha

This is an early alpha release for hardware bring-up, Home Assistant/MQTT testing and firmware feedback. It is not yet a finished product.

The current alpha supports:

  • one motorized fader channel
  • ESP32 / PlatformIO firmware
  • MQTT control and state reporting
  • Home Assistant MQTT discovery
  • browser-based setup portal
  • live status updates in the setup portal
  • browser-based OTA firmware updates
  • Waveshare 1.02" ePaper label display
  • persistent configuration in ESP32 flash

Why FaderDock?

  • Motorized faders with a clean hardware-focused design
  • DIY-friendly project structure
  • Tactile control instead of screens only
  • Open and flexible for custom integrations
  • Clear documentation with a lightweight visual style

Best for

  • makers and tinkerers
  • custom smart home setups
  • tactile control concepts
  • ESP32-based DIY hardware projects
  • documentation-first product development

Repository structure

include/        Firmware header files
src/            Firmware source files
docs/           Additional project and release documentation
lib/            Optional project-specific PlatformIO libraries
test/           Reserved for PlatformIO tests
platformio.ini  PlatformIO build configuration

The main FaderDock documentation lives at:

https://faderdock.net

Detailed build instructions, BOM files, CAD/STL downloads and the future browser-based first-flash installer are planned for the protected member/pro area of the documentation site.

Hardware used by the current alpha

The current firmware is written for the first one-channel ESP32 prototype.

Controller

  • ESP32 development board, PlatformIO board profile: esp32dev

Motor fader

The current prototype uses a Behringer X32-style motorized fader.

Signal ESP32 GPIO
Fader ADC GPIO32
Motor IN1 GPIO25
Motor IN2 GPIO26
Motor PWM GPIO27

ePaper label display

Waveshare 1.02" e-Paper Module, black/white, SKU/MPN 17575.

ePaper pin ESP32 GPIO
VCC 3V3
GND GND
DIN / MOSI GPIO23
CLK / SCK GPIO18
CS GPIO5
DC GPIO17
RST GPIO16
BUSY GPIO35

The ePaper display is intentionally used only as a calm channel label below the fader. It can be changed via MQTT, serial command or the web portal without rebooting the device.

Firmware setup

Requirements

  • Visual Studio Code
  • PlatformIO extension
  • ESP32 development board connected via USB

Build

pio run

First flash via USB

pio run --target upload

Open the serial monitor:

pio device monitor

After the first flash, connect to the setup access point if the device cannot connect to Wi-Fi yet.

SSID: FaderDock Setup
Password: fader1234

Then open the setup portal. The default local URL is:

http://faderdock.local

If mDNS is not available on your network, use the IP address shown in the serial monitor or in your router.

Web portal

The firmware includes a local web portal for setup, status and maintenance.

Main portal:

http://faderdock.local/

OTA update page:

http://faderdock.local/update

The setup portal provides:

  • Wi-Fi and MQTT configuration
  • ePaper label changes without rebooting
  • live fader position and target position
  • MQTT and Wi-Fi status
  • restart and factory reset actions
  • browser-based OTA firmware upload

OTA updates

After the device has been flashed once via USB, later firmware updates can be installed from the web portal.

Build the firmware in PlatformIO:

pio run

Upload this file through the OTA page:

.pio/build/esp32dev/firmware.bin

The device restarts automatically after a successful OTA update.

For release downloads the intended naming is:

FaderDock-v0.2.0-alpha-ota.bin
FaderDock-v0.2.0-alpha-factory.bin
SHA256SUMS.txt

ota.bin is for devices already running FaderDock. factory.bin is intended for the first flash of a blank ESP32 and should contain bootloader, partition table and application image.

Release assets can be generated from the repository root:

tools/make_release_assets.sh

More details are documented in docs/firmware/release-build.md.

MQTT topics

The MQTT base topic is the configured hostname. The default hostname is faderdock.

faderdock/ch1/set/percent
faderdock/ch1/state/percent
faderdock/ch1/state/target_percent
faderdock/ch1/state/mode
faderdock/ch1/set/label
faderdock/ch1/state/label
faderdock/availability

Home Assistant MQTT discovery is published for:

  • channel target position
  • channel current position
  • channel mode
  • ePaper label

Useful serial commands

0..100 + Enter  -> move fader to target percent
u + Enter       -> short jog up
d + Enter       -> short jog down
s + Enter       -> stop motor
p + Enter       -> print status
label TEXT      -> update ePaper label
portal + Enter  -> start setup access point
h + Enter       -> show help

Alpha limitations and known issues

  • The firmware currently targets one fader channel.
  • Calibration values are prototype-specific and may need adjustment for other faders or mechanics.
  • The setup AP uses a fixed alpha-stage password.
  • There is no user authentication on the local setup portal yet.
  • First flashing of a blank ESP32 still requires USB flashing or a future protected FaderDock installer page.
  • Browser OTA is for application updates after FaderDock is already installed.
  • The current wiring is prototype wiring and not yet a final PCB design.

Safety notes

A motorized fader is a moving part. Keep fingers, cables and loose parts clear while testing motor movement. Use a suitable motor driver and power supply, and disconnect power while changing wiring.

Contributing

Ideas, bug reports and feedback are welcome.

Please use structured GitHub issues so reports stay actionable. Helpful reports include:

  • firmware version
  • ESP32 board type
  • wiring deviations
  • serial log output
  • MQTT broker / Home Assistant details
  • steps to reproduce the problem

License

See the repository license file.

About

DIY motorized fader kit for smart homes

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors