Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tjhorner/wifi-desk-controller
Source files for my WiFi Desk Controller board
https://github.com/tjhorner/wifi-desk-controller
esp8266 esphome firmware standing-desk
Last synced: 29 days ago
JSON representation
Source files for my WiFi Desk Controller board
- Host: GitHub
- URL: https://github.com/tjhorner/wifi-desk-controller
- Owner: tjhorner
- License: other
- Created: 2022-05-06T20:41:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-06-20T20:24:43.000Z (over 2 years ago)
- Last Synced: 2024-12-09T03:48:40.154Z (about 1 month ago)
- Topics: esp8266, esphome, firmware, standing-desk
- Language: C++
- Homepage: https://shop.horner.tj/things/desk-controller
- Size: 1.67 MB
- Stars: 123
- Watchers: 9
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE-CC
Awesome Lists containing this project
README
# WiFi Desk Controller
This repository includes the source files for my WiFi Desk Controller design.
- `firmware`: The stock ESPHome-based firmware that's available from the GitHub Releases and [my website](https://shop.horner.tj/things/desk-controller/setup/stock)
- `enclosure`: Fusion 360 source, STL, and STEP files for the 3D-printable enclosure
- `pcb`: KiCad project files for the PCBYou may also find the associated [ESPHome custom component](https://github.com/tjhorner/esphome-standing-desk) interesting if you want to implement your own desk brand, or just dive deeper into how the firmware works.
## Stock Firmware
The stock firmware is ESPHome-based, and contains a bunch of components that are useful for setup. It exposes these entities:
- Desk Height: reports desk height as reported by control box
- Target Desk Height: changes the target desk height
- Desk Preset 1: sets the desk height to preset 1
- Desk Preset 2: sets the desk height to preset 2
- Desk Preset 3: sets the desk height to preset 3
- Desk Preset 4: sets the desk height to preset 4The stock firmware is automatically built for each supported desk on release. There is a [GitHub Actions workflow](.github/workflows/build.yaml) which handles this. The `make-stock-bin` script replaces the `DESK_BRAND` in the [stock config.yaml](firmware/config.yaml) with the appropriate config and builds it. It runs this script for each of the supported desk brands in the build matrix, then uploads a release artifact.
If you would like to contribute compatibility for a new desk, you first need to submit a pull request to [this repo](https://github.com/tjhorner/esphome-standing-desk/tree/master/configs/desks) which adds a config file for the desk (and, if necessary, a new protocol decoder for it). See [Desk Compatibility](https://github.com/tjhorner/wifi-desk-controller/wiki/Desk-Compatibility) for more info on adding a new desk brand.
## License
The ESPHome configs are licensed under MIT; everything else (enclosure and PCB design) are CC BY-NC-SA 4.0. The appropriate license files are available in the root of the repo.