SideKick is a Windows worker application that renders a configurable dashboard to a Waveshare e-paper display through an FT232H USB adapter. The dashboard can show calendar events, tasks, Home Assistant data, stocks, and system status. Calendar and task data can come from classic Outlook, Microsoft Graph, Todoist, GitHub, and web calendars. A WinUI settings window is available from the system tray.
The tables below show the default pin mappings used by EPaper. FT232H pin numbers in the source
map to the common signal names shown here. D2/MISO is not used because the display connection is
write-only apart from its dedicated BUSY line.
- E-paper: 10.85-inch Large E Ink Screen Narrow Display 1360x480, GDEM1085T41
- Display Adapter board: DESPI-C1085
- USB-C connection: FT232H
- 8-pin wire connection
- 2 x TTP223 Capacitive Switch Button Module
The 10.85-inch panel uses Good Display's DESPI-C1085 controller, with two chip-select lines and
3-wire SPI. Command/data selection is encoded on SDI; there is no separate DC connection.
| FT232H connection | FT232H pin | Display pin | Purpose |
|---|---|---|---|
| SCK | D0 (0) | SCLK |
Shared SPI clock |
| MOSI | D1 (1) | SDI |
Shared SPI data to display |
| First chip select | D3 (3) | CS |
First display controller |
| Second chip select | D4 (4) | CS2 |
Second display controller |
| GPIO | D5 (5) | RES |
Shared display reset |
| GPIO | D6 (6) | BUSY |
Display busy status |
| 3.3 V supply | 3.3V |
3.3V |
Display power |
| Ground | GND |
GND |
Common ground |
There is code in place for a set of other Waveshare E-Paper displays, but not that they do not provide a lot of space for content. The connection for these would be:
| FT232H connection | FT232H pin | Display pin | Purpose |
|---|---|---|---|
| SCK | D0 (0) | CLK |
SPI clock |
| MOSI | D1 (1) | DIN |
SPI data to display |
| Chip select | D3 (3) | CS |
Display selection |
| GPIO | D4 (4) | DC |
Data/command selection |
| GPIO | D5 (5) | RST |
Display reset |
| GPIO | D6 (6) | BUSY |
Display busy status |
| Compatible supply rail | — | VCC |
Display power |
| Ground | GND |
GND |
Common ground |
SideKick reads two TTP223 capacitive-touch modules on the FT232H high GPIO bank. These are independent of the display signals above and use C0 and C1 (GPIO pins 8 and 9).
| Button | FT232H connection | FT232H pin | TTP223 pin |
|---|---|---|---|
| First | C0 | 8 | OUT |
| Second | C1 | 9 | OUT |
| Both | 3.3V |
— | VCC |
| Both | GND |
— | GND |
Power each TTP223 at 3.3 V so its OUT signal never exceeds the FT232H's 3.3 V GPIO level.
The app recognizes press (Down), release (Up), single tap, double tap, and hold gestures;
the button events are intentionally not assigned to actions yet.
Worker remains a .NET worker project and uses WinUI single-project MSIX packaging. Generate an
unsigned architecture-specific package with Visual Studio MSBuild:
& "C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Current\Bin\MSBuild.exe" `
Worker\Worker.csproj /restore /t:Build `
"/p:Configuration=Release;Platform=x64;GenerateAppxPackageOnBuild=true;AppxBundle=Never"Use Platform=ARM64 for an ARM64 package. Packages are written under
Worker\AppPackages.
Before distributing the package, replace the Publisher in Worker\Package.appxmanifest with the
subject of the production signing certificate, then sign through Visual Studio's Package and
Publish workflow or provide the corresponding package-signing properties to MSBuild. The
certificate subject must exactly match the manifest publisher.
The installed MSIX uses the manifest SideKickStartup task for the System setting that launches SideKick at sign-in. Unpackaged development builds continue to use the current-user Run registry
entry. If a user disables the packaged task in Windows Settings or Task Manager, Windows requires
the user to re-enable it under Settings > Apps > Startup.