Dip Coater
April 28, 2026 ยท View on GitHub
Dip Coater is a terminal application for controlling a motorized dip coater. It supports manual motion, homing, absolute positioning, logging, advanced motor settings, and simple scripted coating routines.
The app is built with Textual. It supports TMC2209, TMC2660, and TMC5160 motor drivers.
Start Here
The user documentation lives in docs/.
- Install the app
- Connect the hardware
- Run the app
- Use the interface
- Write coating scripts
- Troubleshoot problems
- Developer and release notes
Quick Run
After installation, start the app with:
dip-coater
To test the interface without real hardware:
dip-coater --driver TMC5160 --use-dummy-driver
For a TMC5160 evaluation board connected over USB-TMCL:
dip-coater --driver TMC5160 --interface usb_tmcl --port /dev/tty.usbmodemTMCEVAL1
Documentation Website
The docs are written as Markdown and can be published with MkDocs.
Preview locally:
python3 -m pip install -e ".[docs]"
mkdocs serve
Then open the local URL printed by MkDocs.
Build the static site:
mkdocs build
Development Checks
Run the non-hardware tests:
uv run pytest -q -m "not hardware"
Hardware tests are documented in Developer Notes.