Huey the Great Dane Logo

Huey the Great Dane

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).

SwatchNameHexUsed for
Black#000000Page background, card backgrounds
White#FFFFFFPrimary text, card borders, date
Yellow#FFFF00Location label, today card highlight, loading/error text
Red#FF0000Reserved (not currently used)
Blue#0000FFLow temperature, precipitation probability
Green#00FF00Weather 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:

  1. Open the SenseCraft HMI app on the reTerminal.
  2. Navigate to Settings → Web Function.
  3. Enter the URL above and save.
  4. 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.
  5. 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

SourceUsed forAPI key required?
Open-Meteo7-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.