This repository was archived by the owner on Oct 28, 2026. It is now read-only.
Repository navigation
car_cluster: an electric car's cluster at 800x480, drawn to the neon dial look - #237
Merged
Merged
Conversation
…dial look The old cluster was a 1024x512 bank of four analog gauges with menu rails and eight screens. This one is the two-dial EV layout: speed and motor power as neon rings, odometer and miles per kWh under them, the clock, date and outside temperature along the top, turn indicators, a lit lane to the horizon with the car's marker, and P R N D S along the bottom. The car drives itself round a 90 second loop; the arrow keys hold a turn signal and Enter pauses the drive. Each ring is drawn once on a canvas (a colour sweep of short arc segments, a tick ring, a hairline) with three cheap moving parts over it: a cover arc the colour of the empty track, a blurred glow arc, and a bright cap on the leading edge. The hood lines are line pieces on strip canvases, since an arc several screens wide crashes the renderer. No image assets, so it runs in the wasm gallery, on CPython and on MicroPython unchanged. Manifests, the gallery card and thumbnail, the screenshots page and the resolution test follow the new files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rewrites the car cluster example as a two-dial EV cluster at 800x480: speed (mph) and motor power (kW) as neon rings with the odometer and mi/kWh under them, a status line, turn indicators, a lit lane with the car's marker, and P R N D S. The car drives itself round a 90 second loop; Left/Right hold a turn signal, Enter pauses.
The rings are canvas art (a colour sweep of short arc segments, ticks, a hairline) with three cheap moving parts: a cover arc for the empty track, a blurred glow, and a cap on the leading edge. No image assets.
Verified: headless CPython captures at 14 s and 50 s (
docs/screenshots/car_cluster.png), 25 fps on the desktop with simulated time tracking the clock; the unix MicroPython build runs it without error; the wasm gallery boots it in headless Chromium, draws, and an ArrowLeft reaches the car;testspass (116).While building it, three defects in the LVGL binding came up and are filed on lvgl-bindings: #38 (struct arrays), #39 (gradient helpers missing), #40 (struct
dir()).