Skip to content

usetrmnl/trmnl-android

Repository files navigation

Android CI Android Release Build latest-build

Android - TRMNL

A simple app to show TRMNL's content to your Android devices like Phone, Tablet, e-Ink Display.

Application Overview

The TRMNL app serves as a digital display for TRMNL e-ink devices and BYOS installations. The app connects to the TRMNL or BYOS API server, fetches display data, and shows it on Android devices. It can function both as a mirror for existing TRMNL devices or as a standalone TRMNL device connected directly to BYOS or TRMNL (with BYOD add-on) servers.

Key Features

  • Token-based authentication with the TRMNL/BYOS API
  • Automatic periodic image refresh from the server
  • Adaptive refresh rate based on server response config
  • Manual refresh capabilities and option to load next playlist image
  • Support for custom server URLs for your BYOS installations
  • Refresh history logging for tracking & validation

📜 Preconditions

You must have a valid access-token or ID (MAC Address) to access the screen content using TRMNL server API.

Here are some of the known ways you can get access to the access-token.

  1. You must own a TRMNL device with "developer edition" add-on purchased
  2. You have purchased their BYOD product.
  3. You have self-serve installation of TRMNL service using BYOS

📱 Google Play Store

Download the app from Google Play Store:

Setup

  1. Configure the API access-token or ID (MAC Address) in the app settings
  2. Save the token and keep the app always-on with the TRMNL's display image showing.
Demo Video

Limitations 🚧

  1. Right now, screen lock using Google's recommended FLAG_KEEP_SCREEN_ON is not working on e-Ink tablet due to strict battery optimization. So, if you plan to keep the screen on indefinitely, you should set that in the device settings.
    • On normal Android tablet or device, screen wake lock should work. However it's not recommended to use it without device being always plugged-in 🔌.
  2. Currently the app uses Android WorkManager to schedule refresh job and it has minimum interval of ⏰ 15 min between jobs. So, if your TRMNL is setup to refresh every 5 min, you will not see it refresh until 15 min is elapsed.
    • This can be overcome by using some clever logic or not using WorkManager. However, this is a OS optimized and reliable way to refresh image periodically.
    • Imagine a user running the app on an Android phone or tablet. When the app is in the background (e.g., the screen is off), it avoids unnecessary image refresh calls, conserving the user's battery. These optimizations are built into WorkManager.

android logoAndroid Development & Contribution Guide

See CONTRIBUTING.md for more details on how to get started and contribute to the project.


Related References 📖

Related App - TRMNL Buddy

App Icon

Your companion app to monitor and manage your TRMNL e-ink displays on the go.

TRMNL Android Buddy is the essential companion app for managing your TRMNL e-ink display devices. Monitor device health, track battery life over time, and stay on top of your displays' status—all from your Android phone.