← Help & docs

How do I connect a TRMNL e-ink display?

collabDoo serves your household’s display under a secret address in three forms: web page, image (PNG) and data (JSON). On the TRMNL there are two ways: the image plugin for full-screen use (recommended, no maintenance) and Liquid templates if collabDoo should share a screen with other plugins. No server of your own is needed.

Part 1

Prepare in the app

You need a TRMNL connected to the TRMNL cloud (trmnl.com) and an account with access to private plugins (developer access). In collabDoo you set up the display and generate the address – as an adult with the admin role.

  1. Switch the display on

    ManageDisplay (kitchen display) → switch on Public display address active.

  2. Calendar, location, photos

    Up to 6 calendars via iCal address (Check address shows immediately whether the link works; with Apple replace webcal:// with https://), a location for the weather, photos with rotation. How to is in the display guide.

  3. Choose the e-ink view

    Under Ansicht E-Ink/Bild choose between Week and Today only. This is the default for image and web page; it can be overridden via the address.

  4. Generate the display address

    Under E-ink / TRMNL tap Generate display address. The app shows three addresses once, with copy button and QR code: web page …/d/<token>, image …/d/<token>.png, data …/d/<token>.json. Way 1 needs the image address, way 2 the data address.

As secret as an invitation link

Anyone who knows the address sees tasks with first names, appointments and the photo. With both ways it ends up in the TRMNL cloud because TRMNL fetches it. Do not pass it on; if lost, Neue Adresse erzeugen (the old one dies immediately) or Adresse widerrufen. The plain text is shown only at the moment of generation.

Part 2

Way 1: image plugin (full screen, recommended)

A private plugin whose markup is just one image. The result is exactly what the collabDoo server renders: tile design, weather, photo – designed for e-ink. No Liquid, no maintenance.

  1. Create the plugin

    At trmnl.com: PluginsPrivate PluginAdd new. Name it “collabDoo”, say.

  2. Strategy

    Strategy: Static. The markup needs no data from TRMNL.

  3. Paste the markup

    Edit MarkupFull, then paste one of these lines and replace <token> with the part from your image address. The first line fits the TRMNL X, the second the TRMNL OG.

    <!-- TRMNL X (1872 × 1404, 16 grey levels), week view -->
    <img src="https://team.collabdoo.app/d/<token>.png?w=1872&h=1404&mode=gray16&view=week" style="width:100%;height:100%;object-fit:contain;">
    
    <!-- TRMNL OG (800 × 480, 1 bit), day view -->
    <img src="https://team.collabdoo.app/d/<token>.png?w=800&h=480&mode=eink&view=today" style="width:100%;height:100%;object-fit:contain;">

    The parameters after the ? control the image – all are optional:

    ParameterValuesEffect
    viewweek · todayWeek tiles or day view. Without it, the app setting “Ansicht E-Ink/Bild” applies.
    w200 … 2000Width in pixels – your display’s resolution.
    h200 … 2000Height in pixels. The layout scales by height (template 780 px).
    modeeink · gray · gray16 · color1-bit dithered (TRMNL OG) · 4 grey levels · 16 grey levels (TRMNL X) · colour (browser, tablet).
    rotate0 · 90 · 180 · 270Rotation in degrees, for a portrait-mounted display, say.
  4. Save and add to a playlist

    Save, check the preview, add the plugin to a Playlist. Done – the TRMNL fetches the image at its own pace (the device’s refresh rate).

  5. Optional: alternate day and week

    Create a second plugin with view=today. The playlist order is the alternation rhythm.

Good to know

The server caches an image for 5 minutes per address and parameters. If the TRMNL catalogue offers an “Image Display” plugin (image from URL), it works with the same image address – but the private plugin with <img> always works and needs no catalogue entry.

Part 3

Way 2: private plugin with Liquid templates (mashups)

Needed when collabDoo should sit next to other plugins on one screen (half or quadrant). TRMNL then renders from the data itself – with our ready-made templates.

  1. Create the plugin

    trmnl.com → PluginsPrivate PluginAdd new, name “collabDoo”.

  2. Polling strategy

    Strategy: Polling, enter the data address …/d/<token>.json as polling URL, verb GET, no headers.

  3. Paste the template

    Edit Markup: copy and paste the matching template for each layout from team.collabdoo.app/trmnl/ (table below).

  4. Check the preview

    If no entries appear, the data sits under a root node (happens with several polling URLs). Then replace days with IDX_0.days in the template – likewise today, labels, household, weather, unassigned, title, updated, photo_url.

  5. Playlist or mashup

    Add the plugin to the playlist. In a Mashup, collabDoo sits as a quadrant next to weather or news, for example.

LayoutTemplateShows
Full (week)collabdoo-full.liquidDay tiles 4×2, weather and photo on the right, with 7 days an eighth tile “up for grabs”
Full (day)collabdoo-full-today.liquidAppointments · tasks (two lines, circle checkbox) · weather and photo
Half Horizontalcollabdoo-half_horizontal.liquidToday left, next day right
Half Verticalcollabdoo-half_vertical.liquidToday large, the next days below
Quadrantcollabdoo-quadrant.liquidToday only, compact
Good to know

The full templates load Public Sans and Roboto Condensed from Google Fonts plus weather symbols and photo from the collabDoo server. TRMNL renders in the cloud, which is why all addresses are absolute.

Part 4

Image address parameters and recommendations per device

Append the parameters to the image address with ? and &. Without view the app setting “Ansicht E-Ink/Bild” applies.

ParameterValuesMeaning
viewweek · todayWeek tiles or day view
w, h200 … 2000Image size in pixels; the layout scales by height (template 780 px)
modeeink · gray · gray16 · color1-bit dithered · 4 grey levels · 16 grey levels · colour
rotate0 · 90 · 180 · 270Rotation
Recommendations

TRMNL X (10.3″, 16 grey levels, 1872 × 1404): ?w=1872&h=1404&mode=gray16&view=week
TRMNL OG (7.5″, 1 bit, 800 × 480): ?w=800&h=480&mode=eink&view=today – the day view is more legible on the small display than the week.
Browser or tablet: the web page address …/d/<token> refreshes itself, ?view=today is possible.

What the image shows

Week: one tile per day with weekday, “TODAY” badge, date and the entries in chronological order – appointments with time and calendar, tasks with time and person (“07:00 · Max”, open ones as “07:00 · open”). Weather with an hourly bar 06–20 top right, the photo of the day bottom right. Day: appointments on the left, tasks in the middle as a list with a circle (empty = open, filled = done), time and assignee, then “Tomorrow” if there is room. A clear tile design, made for e-ink.

Part 5

Troubleshooting

SymptomCause and fix
Image or page returns 404Address wrong, revoked or display switched off. Generate a new address in the app.
Old rendering in the browserBrowser cache (60 seconds). Reload with Shift or change a parameter.
Image too small or blurry on the TRMNL Xw=1872&h=1404&mode=gray16
Liquid template shows nothingRoot node: daysIDX_0.days and the other fields likewise (part 3, step 4).
All tasks say “up for grabs” or “open”The tasks have no assigned person. Set the assignee in the app or let someone take them.
Calendar missingThe iCal address must start with https:// and be publicly reachable; use “check address” in the app. Refresh every 15 minutes.
Exclamation mark after the timeThe task is overdue – the time has already passed today.
Good to know

All templates, symbols and a short guide are publicly available at team.collabdoo.app/trmnl/.

collabDoo · All for one. Done by all.

The week on the wall – without wasting power.

One private plugin, one line of markup, done.

iPhone & iPad · iOS 17 or later · Android to follow

Jen

Jen · Support

“No question is too small – that is exactly what I am here for.”

Meet the whole team →