TRMNL client for Nook Simple Touch
A TRMNL client for the Nook Simple Touch (BNRV300) and Nook Simple Touch with Glowlight (BNRV350). These devices usually go for around $30 on eBay and have an 800x600 e-ink display.
![]() Configuration screen |
![]() Fullscreen view |
![]() Menu dialog |
Questions or feedback? Please open an issue.
Table of Contents
- Prerequisites
- Install
- Device Settings
- Features
- Deep Sleep Mode
- Aggressive Sleep
- Frames and Cases
- Gift Mode
- Roadmap
- Other Nook Models
- Development
- Disclaimer
Prerequisites
- Root the device using the Phoenix Project. I used "phase 4" (the minimal rooted install for customization). The phases were confusing because you do not need phase 1/2/3 (each is a separate backup).
- Buy a TRMNL BYOD license and grab your SSID + API key from Developer Settings after login (or use your own server).
Install
- Download the APK from GitHub Releases.
- Connect the Nook Simple Touch over USB and copy the APK over.
- Open the included
ES File Explorerapp. - In ES File Explorer:
Favorites -> "/" -> "media" -> "My Files". - Tap the APK and install.
- Connect your device to WiFi
- Open the app and configure the device info
Device Settings
In the TRMNL Device settings, set the device type to "Nook Simple Touch" as the TRMNL team was nice enough to add support for this device!
Features
- On-device config UI for device ID, API key, and API URL (BYOS)
- Fetches your screen and shows it fullscreen, bypassing the lock screen until you exit
- Respects playlist intervals to advance to the next screen
- TLS v1.2 via BouncyCastle (not included in Android 2.1)
- BYOD support for TRMNL and custom server URLs
- Reports battery voltage and Wi-Fi signal strength
- Deep sleep mode for 30+ day battery life
- Aggressive sleep for maximum battery savings (benchmarking TBD)
- Gift Mode for pre-configuring devices as gifts
Deep Sleep Mode
Without deep sleep, expect ~60 hours of battery life. With deep sleep and a 30-minute refresh rate, battery lasts 30+ days. The app writes each image to the Nook's screensaver, turns off WiFi, and sets an RTC alarm to wake for the next refresh.
To enable:
- In the app: Enable "Sleep between updates"
- In
Nook Settings → Display → Screensaver: Set to "TRMNL" with 2-minute timeout - In
Apps → Nook Touch Mod: Enable "Hide Screensaver Banner"
Aggressive Sleep
Aggressive sleep is an optional mode on top of deep sleep that puts the device to sleep immediately after each scheduled image refresh, rather than waiting for the screensaver timeout. This can further improve battery life, though benchmarking is still in progress — exact savings are TBD.
To enable:
- First enable "Sleep between updates" (see Deep Sleep Mode)
- In the app: Settings → General → Enable "Aggressive sleep"
You can also trigger a manual sleep at any time from Settings → System → "Sleep".
Frames and Cases
The Nook Simple Touch often develops sticky residue on its rubberized surfaces as it ages. iFixit has great teardown and repair guides if you need to clean or refurbish your device.
For a custom frame, I recommend this 3D-printed case on Thingiverse. It requires:
- M3x4 flush screws
- M3x5x4 threaded inserts (soldering iron required to install)
- The original screws and inserts from the Nook Simple Touch
Gift Mode
Gift Mode displays setup instructions instead of fetching content—perfect for giving a pre-configured device as a gift.
To set up:
- Buy a BYOD license for the recipient
- Get the friendly device code from trmnl.com/claim-a-device
- In the app: Settings → Enable "Gift mode" → "Configure Gift Mode"
- Enter your name, recipient's name, and the device code
Roadmap
See GitHub Issues for the roadmap and to submit feature requests.
Development
See the CI workflow for build details (build-apk.yml), and the tools/ adb scripts for build/install workflows. A development guide is coming (https://github.com/bpmct/trmnl-nook-simple-touch/issues/8). In the meantime, the project can be built with surprisingly minimal, self-contained dependencies.
Other Nook Models
This repository targets legacy Nook devices running Android 2.1 (API 7), which requires different tooling and approaches than modern Android. For newer Nook devices like the Nook Glowlight 4, see trmnl-nook.
If you have another Nook model from this era that you'd like to test, please open an issue!
Disclaimer
AI was used to help code this repo. I have a software development background, but did not want to relearn old Java and the Android 2.1 ecosystem. Despite best-effort scanning and review, the device and/or this software may contain vulnerabilities. Use at your own risk, and if you want to be safer, run it on a guest network.


