Open ben-hawks opened 6 months ago
To update BadOS to support this display, it might be worthwhile attempting to build a v8.2.0 version of the custom circuitpython distribution to isolate the changes from each other. As of right now, the display works as as the builtin display with simple test scripts and for the REPL output, but is very corrupted/unusable when attempting to run BadOS. Because of the fact that the new circuitpython build is based on 9.0+, its hard to debug what's causing various issues and where to begin tracking down fixes in the first place.
Due to Cost, Availability, and other issues, we are moving from the UC8151D based 2.9" ePaper Display to a SSD1680 based 2.9" ePaper Display for the DC32 version of the badge.
This is a critical and important part of this project, and will be a blocking issue until a certain sub-tasks are completed. This requires (re) building the CircuitPython distribution to initialize and connect to the new display properly, validating part pin outs/specifications to ensure compatibility, and re-writing certain parts of BadOS to support the new display (if required).
Additionally, the new display technically offers some improved performance and options over the old one, namely in terms of faster refresh times (1.5s vs 3s) and/or 4 color/2b grayscale. These features are less documented and require greater understanding of the ePaper display hardware to properly implement, so they will not be high priority tasks.
Outline of tasks required:
[x] Validate compatible connector, pinout, and electrical characteristics between displays
[x] Test and do first attempt at configuring and driving new display via CircuitPython library
[x] Update configuration and initialization of display within the CircuitPython board definition and firmware image itself so the new display is used as the "Builtin" display for the badge
[ ] Update BadOS to support and use the new display properly
[ ] Explore the use of the enhanced capabilities of the new screen (Refresh Rate, grayscale, etc.)