ben-hawks / BadOS

CircuitPython Mini Operating System for Pimoroni Badger2040 Electronic Badge
GNU General Public License v3.0
1 stars 2 forks source link

Update firmware and BadOS to use/support SSD1680 based display #10

Open ben-hawks opened 1 month ago

ben-hawks commented 1 month ago

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:

ben-hawks commented 1 month 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.