▍TaskPad
A little desk appliance that keeps your periodic chores honest — furnace filters, flea meds, smoke-detector batteries — backed by Home Assistant.
What it does
- Shows upcoming chores on a 2.8" display, color-coded by urgency.
- One button press completes a chore; the next occurrence is scheduled from the completion date, not a blind calendar.
- Long-press marks a chore blocked and spawns its prerequisite ("call the vet first") at the top of the list.
- Every completion lands in a permanent history log in Home Assistant — proof you really did change that filter in March.
- Tasks are created and edited from a Home Assistant dashboard card (name, due date, repeat interval, dependency text).
- Provisioned like a real product: Wi-Fi via the HA companion app (Improv BLE), discovered and adopted by HA over the network, and firmware updates installed from the HA device page (OTA).
Flash it from your browser
Chrome or Edge (WebSerial). Plug the board in over USB, click, pick the serial port. After flashing: open the Home Assistant app to set up Wi-Fi, then HA discovers the device and walks you through adoption. No toolchain required.
Hardware
| Part | Notes |
|---|---|
| SparkFun Pro Micro ESP32-C3 | the brains; 4MB flash |
| 2.8" 240×320 ST7789 TFT (SPI) | e.g. Lonely Binary IPS panel |
| 1 momentary button | "Done" (GPIO1 → GND); BOOT button doubles as "Down" |
| Case | taskpad_base.stl · taskpad_lid.stl |
Default wiring: SCK 6 · MOSI 7 · CS 10 · DC 4 · RST 5 ·
BLK 3 — all adjustable via menuconfig if you build from source.
Home Assistant integration
- No HACS yet? add the official HACS add-on repository, install and run the Get HACS add-on once, restart HA, then add the HACS integration (it walks you through a GitHub sign-in code).
- Add TaskPad as a HACS custom repository → Download → restart HA. The package ships with its matching firmware, so device updates appear on the HA device page after each TaskPad update.
- Requires the Mosquitto broker add-on (or any MQTT broker HA is connected to) and a broker login for the device.
- Settings → Devices & Services: TaskPad appears as a discovered device once it's on your network → Configure → enter broker credentials. Done.
- Add the dashboard card:
type: custom:taskpad-card.
Build from source
git clone https://github.com/mike-rogers/taskpad cd taskpad idf.py set-target esp32c3 idf.py build flash monitor # ESP-IDF v6.0