Skip to content

Release v3.3 smooth native-resolution typography - #14

Merged
PurpleSentinel merged 1 commit into
v3from
feature/smooth-font-rendering
Aug 9, 2026
Merged

Release v3.3 smooth native-resolution typography#14
PurpleSentinel merged 1 commit into
v3from
feature/smooth-font-rendering

Conversation

@PurpleSentinel

Copy link
Copy Markdown
Contributor

Summary

  • replace enlarged MicroPython 8x8 text with proportional, native-resolution typography
  • generate Montserrat-derived glyph assets for every UI size and stream them from flash
  • use the RP2040 framebuffer blitter with the verified bit order and padded row stride
  • center and rebalance text across boot, timer, configuration, and diagnostic screens
  • bump the application and user guide to v3.3
  • document the supported Waveshare RP2040-Touch-LCD-1.28, onboard pin map, complete MicroPython installation, upgrade-safe user.json handling, and first-boot troubleshooting

Why

The previous renderer enlarged an 8x8 framebuffer font by turning each source pixel into a large square, making countdown text look visibly low resolution. The replacement retains smooth glyph shapes without holding the complete font in RAM.

Hardware testing also exposed two MicroPython framebuffer requirements: generated rows must use an explicit byte-padded stride and the matching horizontal bit order. Both are now enforced by implementation and regression test.

Impact

  • clearer and consistently centered text on the 240x240 round display
  • countdown frame rendering reduced from 354 ms to 56 ms in the hardware benchmark
  • 72,640 bytes of heap remained after framebuffer allocation during the optimized test
  • existing saved durations and launch sensitivity remain unchanged during upgrades

Validation

  • 30 host-side unit tests pass
  • Python syntax compilation, JSON validation, and git diff --check pass
  • generated font assets reproduce byte-for-byte from tools/generate_font.py
  • corrected text was visually confirmed on the connected device
  • full MicroPython 1.21 boot completed on the Waveshare RP2040-Touch-LCD-1.28
  • CST816S touchscreen and QMI8658-dependent launch behavior were exercised successfully
  • deployed device files matched the branch byte-for-byte
  • documented mpremote connect auto command was tested against the board

Closes #4
Addresses #5

@PurpleSentinel
PurpleSentinel merged commit 6540fcc into v3 Aug 9, 2026
2 checks passed
@PurpleSentinel
PurpleSentinel deleted the feature/smooth-font-rendering branch August 10, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align firmware drivers and documentation with a single supported hardware target

2 participants