TRMNL Anki

AnkiWeb addon 415381283

Periodically sends selected fields from Anki notes matching search queries, compressed via webhook to a TRMNL server for display, supporting multiple configurations and mashups.
AI-generated summary; may contain mistakes.

sync-integrationservice-client

Open on AnkiWeb GitHub Find alternatives

AnkiWeb

Votes
1 (πŸ‘ 1 Β· πŸ‘Ž 0)
Updated
2025-08-23
Anki versions
25.02.7~
License
AGPL-3.0 (from the GitHub repository)
Virus scan
No ClamAV match A match does not prove malware. No match does not prove that the code is safe.
Languages
Python, JSON
Description language
en

Maintenance

stale

  • Last update or commit: 2025-09-15 (412 days before the snapshot).
  • Commits in the last year: 0.
  • Issues: 0 open, 0 closed.
  • Pull requests: 0 open, 0 merged.

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
25.02.7+2025-08-23
History across monthly snapshots

Loading…

Similar addons

Smart Search for Anki β€” Medical

Provides a keyboard-first search palette for large medical collections with typo/alias matching, native Anki syntax, local semantic search, deck filtering, inline previews, editing, and safe bulk card actions.

note-managementsearchbeta

1 votes 21% approval πŸ‘ 1 Β· πŸ‘Ž 0 ⭐ 4 Anki <=26.08 Updated 2026-08-25
AnkiAutoImage

Adds images, audio, and sentences to Anki notes using Yahoo image search, legacy Google Custom Search, Nadeshiko, and Gemini image generation, with configurable settings and review hotkeys.

card-creationaisync-integrationshortcuts

9 votes 35% approval πŸ‘ 6 Β· πŸ‘Ž 3 ⭐ 10 Anki 2.1.1~ Updated 2026-06-06
Anki Quick AI

Collects note field values from Anki, sends customizable multilingual prompts to OpenAI, and displays or plays generated text and audio responses.

aibeta

5 votes 57% approval πŸ‘ 5 Β· πŸ‘Ž 0 ⭐ 49 Anki 23.10~ Updated 2024-07-11

Description

TRMNL Anki

TRMNL Anki is an add-on/plugin combination that allows a TRMNL to display your Anki flashcards. It supports multiple instances and mashups. It requires a TRMNL with developer edition and a private plugin created from the template located in the GitHub repo here. (If you use the code JUSTTHOMAS you get $15 off your TRMNL order. Thanks for your support!)

Note: Since this is an Anki Add-on / TRMNL Plugin combination, if you find that something broke and the add-on is up to date, it might be the plugin side that's broken (since it doesn't have automatic updates). Check the GitHub for any updates or submit an issue there <3

Screenshot of TRMNL mashups with two instances of TRMNL Anki

TRMNL Anki Add-on

This is the add-on that is added to Anki. It scans the Anki notes at a recurring interval, gets the relevant field data for a single note, compresses it, and sends it to the TRMNL server via a webhook. It does not support images or (of course) audio.

Config

Configuration is as follows. You do not need to restart Anki for changes to take effect (unless the config change crashed the add-on, which means the thing that watches the config change also crashed).

refresh_rate

This is the rate in seconds that the add-on will fetch and send data to the TRMNL server. It does not affect how often the TRMNL device refreshes its screen. It has a hard-coded minimum of 300 seconds to avoid rate limiting from TRMNL's server. To help aid initial setup, you can force the add-on to refresh in the Anki menu under Tools > Refresh TRMNL (This can still be affected by the rate limiting).

plugins

An array of configuration for TRMNL Anki plugins.

Plugin Config

enabled

Set to false to stop the plugin from sending data.

visible_fields

An array of case-sensitive strings that are Anki note fields. If a note has one of these fields, it will be sent to the TRMNL server to be displayed. Data is sent in the order that the fields are listed. This means you should order the fields in the priority they should be displayed.

webhook

The webhook link for the TRMNL plugin. Found on the TRMNL website.

search_query

The query that will be executed to find notes. This takes the same syntax as the Anki Browser. Double quotes must be escaped.

Example:

"search_query": "(is:new OR is:learn OR is:review) \"note:Cantonese Basic\""

Full Example

{
    "plugins": [
        {
            "search_query": "(is:new OR is:learn OR is:review) \"note:Japanese Sentence Mine\"",
            "visible_fields": [
                "Word",
                "Meaning",
                "Sentence"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-1"
        },
        {
            "search_query": "nid:1741914054864",
            "visible_fields": [
                "Word",
                "Meaning",
                "Sentence"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-2"
        },
        {
            "search_query": "\"note:AnkiJazz - Theory\"",
            "visible_fields": [
                "Front",
                "Back"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-3"
        }
    ],
    "refresh_rate": "300"
}

README

TRMNL Anki

TRMNL Anki is an Anki add-on / TRMNL plugin combination that allows a TRMNL to display your Anki flashcards. It supports multiple instances and mashups. It requires a TRMNL with developer edition.

Screenshot of TRMNL mashups with two instances of TRMNL Anki

TRMNL Anki Add-on

This is the add-on that is added to Anki. It scans the Anki notes at a recurring interval, gets the relevant field data for a single note, compresses it, and sends it to the TRMNL server via a webhook. It does not support images or (of course) audio.

Install it here

Config

Configuration is as follows. You do not need to restart Anki for changes to take effect (unless the config change crashed the add-on, which means the thing that watches the config change also crashed).

refresh_rate

This is the rate in seconds that the add-on will fetch and send data to the TRMNL server. It does not affect how often the TRMNL device refreshes its screen. It has a hard-coded minimum of 300 seconds to avoid rate limiting from TRMNL's server. To help aid initial setup, you can force the add-on to refresh in the Anki menu under Tools > Refresh TRMNL (This can still be affected by the rate limiting).

plugins

An array of configuration for TRMNL Anki plugins.

Plugin Config

enabled

Set to false to stop the plugin from sending data.

visible_fields

An array of case-sensitive strings that are Anki note fields. If a note has one of these fields, it will be sent to the TRMNL server to be displayed. Data is sent in the order that the fields are listed. This means you should order the fields in the priority they should be displayed.

webhook

The webhook link for the TRMNL plugin. Found on the TRMNL website.

search_query

The query that will be executed to find notes. This takes the same syntax as the Anki Browser. Double quotes must be escaped.

Example:

"search_query": "(is:new OR is:learn OR is:review) \"note:Cantonese Basic\""

Full Example

{
    "plugins": [
        {
            "search_query": "(is:new OR is:learn OR is:review) \"note:Japanese Sentence Mine\"",
            "visible_fields": [
                "Word",
                "Meaning",
                "Sentence"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-1"
        },
        {
            "search_query": "nid:1741914054864",
            "visible_fields": [
                "Word",
                "Meaning",
                "Sentence"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-2"
        },
        {
            "search_query": "\"note:AnkiJazz - Theory\"",
            "visible_fields": [
                "Front",
                "Back"
            ],
            "webhook": "https://usetrmnl.com/api/custom_plugins/replace-this-3"
        }
    ],
    "refresh_rate": "300"
}

TRMNL Anki Plugin

This is the plugin that is used by TRMNL. It retries the compressed data, decompresses it, and displays each field in the order it was received. HTML from fields are rendered as-is.