Arduino firmware for using the M5Paper e-ink device as a TRMNL display.
- Full M5Unified library support (M5EPD deprecated)
- PNG and BMP image support
- Deep sleep power management with RTC persistence
- Battery voltage monitoring
- Automatic WiFi retry logic
- Wake on button press or timer
- M5Paper e-ink display (960x540)
- WiFi network access
- Clone this repository
- Update WiFi credentials in
m5paper_trmnl.ino - Set your TRMNL API key
- Upload to M5Paper
- Install M5Unified library
- Install ArduinoJson library
- Configure ESP32 board settings
Edit these values in the code:
TRMNL_API_KEY- Your TRMNL API key from trmnl.appWIFI_SSID- Your WiFi network nameWIFI_PASS- Your WiFi password
The device will:
- Wake up (timer or button press)
- Connect to WiFi
- Fetch display from TRMNL API
- Render image to e-ink screen
- Enter deep sleep until next refresh
- WiFi won't connect: Check credentials, device will auto-retry 3x
- Image won't load: Verify TRMNL API key and network connectivity
- Battery drain: Normal refresh rate is 15 minutes (900s)
Built for the TRMNL BYOD program
MIT