reTerminal Display Setup
Instructions for configuring a Seeed Studio reTerminal E1002 as a live weather kiosk.
Display Color Palette
The reTerminal E1002 uses an E Ink Spectra 6 (E6) panel — a 6-color electrophoretic display. Only these six colors can be rendered. All CSS in src/app/reterm/page.tsx is intentionally restricted to this palette. Semi-transparent values (rgba()) and opacity modifiers are avoided because mixed colors would dither to an unpredictable result on the physical display.
Source: Waveshare official 6-color.act Photoshop palette file (matches hardware color codes from the E6 display manual).
| Swatch | Name | Hex | Used for |
|---|---|---|---|
| Black | #000000 | Page background, card backgrounds | |
| White | #FFFFFF | Primary text, card borders, date | |
| Yellow | #FFFF00 | Location label, today card highlight, loading/error text | |
| Red | #FF0000 | Reserved (not currently used) | |
| Blue | #0000FF | Low temperature, precipitation probability | |
| Green | #00FF00 | Weather condition label |
What the Display Shows
The /reterm page is a 800×480 kiosk display designed to fill the reTerminal screen edge-to-edge with no browser chrome. The top half shows a 7-day weather forecast for Lewis Center, OH. The current day's card is highlighted. Each card includes:
- Day name (Today, Mon, Tue…)
- Weather condition icon and label
- High / low temperature (°F)
- Precipitation probability (shown when > 0%)
The header row shows Lewis Center, OH on the left and the current Eastern-time day and date (e.g., Wednesday, April 15, 2026) on the right. There is no clock — the date refreshes automatically at midnight Eastern.
The bottom half of the screen is reserved for future content.
Display URL
Point the reTerminal browser to:
https://hueythegreat.com/reterm
The page is intentionally non-interactive — all pointer events and text selection are disabled so accidental touches don't disrupt the display.
SenseCraft HMI Configuration
The reTerminal uses SenseCraft HMI (Web Function) to display a URL full-screen. Follow these steps:
- Open the SenseCraft HMI app on the reTerminal.
- Navigate to Settings → Web Function.
- Enter the URL above and save.
- Set the refresh interval to 30 minutes (1800 seconds). The weather data is fetched every 30 minutes automatically — a full page reload matches this cadence.
- Enable fullscreen / kiosk mode if available to hide the browser UI.
Because the page fetches weather data on the client after load, an active internet connection is required on the reTerminal.
Data Sources
| Source | Used for | API key required? |
|---|---|---|
| Open-Meteo | 7-day daily forecast (weather code, high/low temp, precip probability) | No — free & open |
Location is hard-coded to 40.1831°N, 83.0127°W (Lewis Center, OH 43035). The date is computed client-side using the America/New_York timezone — no external time API is needed.
Changing the Location
Edit the constants at the top of src/app/reterm/page.tsx:
const LOCATION_LABEL = 'Lewis Center, OH'; const LAT = 40.1831; const LON = -83.0127; const TZ = 'America/New_York';
Replace LAT / LON with coordinates from latlong.net and update TZ with the appropriate IANA timezone name. Then re-deploy.
Refresh Behavior
- Weather data — fetched server-side on every request via Next.js server component (
cache: 'no-store'). The page is fully rendered with live data before it is sent to the display — there is no loading state. - Day & date — computed server-side at render time in the Eastern timezone. Each refresh from SenseCraft HMI will get the correct current date automatically.
- No clock — intentionally omitted. Because SenseCraft HMI refreshes the page on a 30-minute cycle, any displayed time would be stale for up to 29 minutes.
- Why SSR? — The e-paper display captures a screenshot of the page shortly after navigation. Client-side data fetching caused the display to capture the “Loading forecast…” placeholder before the API call completed. Server-side rendering ensures the display always sees the fully populated page.
Display Specs
- Target resolution: 800 × 480 px (reTerminal E1002 native)
- Display technology: E Ink Spectra 6 (electrophoretic, 6 colors)
- Background:
#000000(Black — one of the 6 native colors) - Font: system-ui / sans-serif
- The outer
<div>is fixed at exactly 800×480 — no scrollbars, no viewport scaling needed. - No gradients, no semi-transparent overlays, no opacity modifiers. Every color in the page must be one of the 6 palette values above.