From easiest to hardest:
| Public | Server required? | OAuth required? | Language |
Private Plugin | no | no | no | |
Recipe | yes | no | no | |
Screenshot | no | yes | no | any |
Public Plugin | yes | yes | yes | any |
BYOS | no | yes | no | any |
Private Plugin
The simplest way to write a custom plugin is as a Private Plugin. Feed it data via HTTP polling or a webhook, design a beautiful dashboard with our UI framework, and we handle the rest.
While private plugins are not publicly listed in the TRMNL directory, they can be conveniently shared with others by exporting.
For inspiration, check out the list of awesome community plugins.
Recipe
Recipes are simply private plugins that have been approved by the TRMNL team to be listed publicly. As recipe master, any changes you make will be automatically propagated to others who have installed your recipe.
Learn more about building and submitting recipes.
Screenshot
Another way to get custom content to a TRMNL is to leverage the Screenshot plugin. Write and host your own web app that serves up a TRMNL-friendly web page, and the Screenshot plugin will periodically poll your app to generate screen images.
Public Plugin
A public plugin is the most capable - and the most complex - custom plugin type. You provide a web application with an OAuth2 authentication flow, per-user setting management, and generated markup. TRMNL servers will periodically poll the application to generate images for the device.
Learn how to build and submit a public plugin.
BYOS
For complete control over your TRMNL hardware, you can Bring Your Own Server. This capability bypasses all plugin functionality provided above.