Skip to content

Releases: timbrinded/pokeviewer

Pokeviewer v2.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 08:37
f49e351

Pokeviewer v2.1.0

Pokeviewer is a battery-powered, fully offline Pokémon-of-the-day display for
the non-touch Waveshare ESP32-S3-ePaper-1.54-EN V2 development board. It shows
the weekday, a Pokémon Crystal sprite, the English name, and the canonical type
or types, and changes the card at 07:00 local time. It has no Wi-Fi, BLE,
account, SD card, or over-the-air update.

Pokémon

  • The device now shows all 251 Generation I and II Pokémon, National Pokédex
    IDs 1 to 251.
  • Sprites come from Pokémon Crystal instead of Pokémon Yellow. Each sprite
    pixel is drawn as one of four shades (white, light, dark, or black) using
    black-and-white dot patterns, with the normal full refresh. Outlines stay
    solid black, and large black bodies keep their detail.
  • The daily order is new. Every Pokémon appears once in each 251-day cycle,
    and any seven consecutive days show Pokémon at least 31 Pokédex numbers
    apart. The cycle still counts from 2026-01-01 and still changes at 07:00.

Upgrading

Follow the README quick start. Flashing does not change the RTC, so the time
is kept. After flashing, the card shows the Pokémon the new order assigns to
the current day, which can differ from the one v2.0.0 showed. Use the v2.1.0
pokeviewerctl with v2.1.0 firmware. The USB protocol, buttons, lights, and
battery display are unchanged from v2.0.0.

Contents

One merged firmware image flashable at offset 0x0, one Linux x86-64
pokeviewerctl, the compiled offline content pack (pokeviewer-v2.pack),
SHA-256 checksums, and setup, safety, and troubleshooting documentation.

Pokeviewer is an adult-built, child-adjacent development-board project, not a
certified finished toy. No board, enclosure, battery, charger, or cable is
included. Battery runtime is not guaranteed. Read the safety guide before you
connect a protected single-cell battery.

This is an unofficial, non-commercial fan project and is not affiliated with,
endorsed by, or sponsored by Nintendo, Creatures Inc., GAME FREAK inc., or The
Pokémon Company International.

Pokeviewer v2.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:06
e4999ca

Pokeviewer v2.0.0

Pokeviewer is a battery-powered, fully offline Pokémon-of-the-day display for
the non-touch Waveshare ESP32-S3-ePaper-1.54-EN V2 development board. It shows
the weekday, a Pokémon Yellow sprite, the English name, and the canonical type
or types, and changes the card at 07:00 local time. It has no Wi-Fi, BLE,
account, SD card, or over-the-air update.

This is a major release: the battery display, the button behaviour, and the
recovery steps change from v1.1.0.

Battery

  • The percentage is gone. The card shows one of three states: Normal (no
    battery text), Recharge (lightning icon and CHARGE! at the bottom), or
    Unavailable (BAT ? in the top-right corner). Recharge starts below
    3,750 mV and clears at or above 3,850 mV.
  • The battery is measured every three hours, at 07:00, and on a BOOT
    restart. The card redraws only when the state changes, so CHARGE! clears
    within three hours of charging, or at once after a BOOT restart.
  • The orange charger light is the reliable sign that charging has finished. A
    reading taken while USB is connected sees the charger's voltage.
  • New pokeviewerctl get-battery reports the retained state and cell
    millivolts. Millivolts are diagnostic data, not a capacity measurement.

Buttons and lights

  • PWR: a short press does nothing visible. A three-second hold turns the
    green light on and opens the parent session for pokeviewerctl.
  • BOOT: a one-second hold now restarts the firmware and redraws the screen,
    including after any error screen. Recovery no longer requires opening the
    device or disconnecting the battery. Holding BOOT at power-up with the
    battery disconnected still enters flashing mode.
  • Green light: steady while the device listens for or serves a computer; one
    flash when a BOOT restart is accepted.

Power and reliability

  • The unused SHTC3 sensor is put to sleep at every boot, removing about 45 µA
    of idle current.
  • The device no longer stays awake indefinitely when a button or the RTC line
    is held low at sleep entry. A stuck RTC interrupt is reported as ALARM.
  • pokeviewerctl --wait-for-device tolerates the short moment when a new
    serial device has not yet received its permissions.

Upgrading

Follow the README quick start. Flashing does not change the RTC, so the time
is kept. Use the v2.0.0 pokeviewerctl with v2.0.0 firmware.

Contents

One merged firmware image flashable at offset 0x0, one Linux x86-64
pokeviewerctl, the compiled offline content pack, SHA-256 checksums, and
setup, safety, and troubleshooting documentation.

Pokeviewer is an adult-built, child-adjacent development-board project, not a
certified finished toy. No board, enclosure, battery, charger, or cable is
included. Battery runtime is not guaranteed. Read the safety guide before you
connect a protected single-cell battery.

This is an unofficial, non-commercial fan project and is not affiliated with,
endorsed by, or sponsored by Nintendo, Creatures Inc., GAME FREAK inc., or The
Pokémon Company International.

Pokeviewer v1.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 10:59
8610911

Pokeviewer v1.1.0

Pokeviewer is a battery-powered, fully offline Pokémon-of-the-day display for
the non-touch Waveshare ESP32-S3-ePaper-1.54-EN V2 development board.

The display shows the weekday, a Pokémon Yellow sprite, English name, and
canonical type or types. The selection changes deterministically at 07:00
local time. There is no runtime internet, Wi-Fi, BLE, touch, account, location,
SD-card, or over-the-air update dependency.

This release adds a parent session. Connect USB and hold PWR for three
seconds to change the time or enter storage mode. A short PWR press has no
visible effect. The BOOT button is for service and flashing only.

The display shows an approximate battery value in 10 percent steps. A
lightning icon and CHARGE! appear below the low threshold. The value uses a
generic LiPo voltage curve. It is not a fuel gauge or a safety control. USB
operation with no battery can show 100% because the board has no dedicated
USB-power sense input.

Storage mode clears the RTC and turns off the board. The next start requires
time setup. Complete RTC power loss also requires an adult to connect USB and
set the local clock again.

The release contains one merged firmware image flashable at offset 0x0, one
Linux x86-64 provisioning CLI, the compiled offline content pack, SHA-256
checksums, and adult setup, safety, and troubleshooting documentation. Flash
the board only while the battery is disconnected.

Pokeviewer is an adult-built, child-adjacent development-board project, not a
certified finished toy. No board, enclosure, battery, charger, or cable is
included. Battery runtime is not guaranteed. Read the safety guide before you
connect a protected single-cell battery.

Publication requires the remaining v1.1.0 device qualification and the
artifact-only isolated-environment rehearsal to pass. Hardware behavior is
qualified on installed firmware with the same firmware source and generated
content as the release candidate. The exact candidate bytes are not flashed
to, or read back from, the assembled device. Physical RTC, panel, and alarm
failure diagnostics are not performed on the assembled device. Physical images
remain private. Public evidence states only that reviewed images were provided.

This is an unofficial, non-commercial fan project and is not affiliated with,
endorsed by, or sponsored by Nintendo, Creatures Inc., GAME FREAK inc., or The
Pokémon Company International.

Pokeviewer v1.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 19:54
7ba8303

Pokeviewer v1.0.0

Pokeviewer is a battery-powered, fully offline Pokémon-of-the-day display for
the non-touch Waveshare ESP32-S3-ePaper-1.54-EN V2 development board.

The display shows the weekday, a Pokémon Yellow sprite, English name, and
canonical type or types. The selection changes deterministically at 07:00
local time. There is no runtime internet, Wi-Fi, BLE, touch, account, location,
SD-card, or over-the-air update dependency.

This release contains one merged firmware image flashable at offset 0x0, one
Linux x86-64 provisioning CLI, the compiled offline content pack, SHA-256
checksums, and adult setup, safety, and troubleshooting documentation.

Complete RTC power loss requires an adult to reconnect USB and set the local
clock again. Battery runtime depends on the measured assembled device and is
not universally guaranteed.

Pokeviewer is an adult-built, child-adjacent development-board project, not a
certified finished toy. No board, enclosure, battery, charger, or cable is
included. Read the safety guide before connecting a protected single-cell
battery.

Publication is permitted only after the
seven-day physical qualification
and
exact-artifact clean-host rehearsal
are closed with reviewed evidence.

This is an unofficial, non-commercial fan project and is not affiliated with,
endorsed by, or sponsored by Nintendo, Creatures Inc., GAME FREAK inc., or The
Pokémon Company International.