Skip to main content

Get the Reddit app

Scan this QR code to download the app now
Or check it out in the app stores

r/Python

members
online

Sunday Daily Thread: What's everyone working on this week?

Monday Daily Thread: Project ideas!
MOD

SH1106 OLED Screen App Framework for Raspberry Pi - Now on PyPI SH1106 OLED Screen App Framework for Raspberry Pi - Now on PyPI
Showcase

What it does:
Today, I released the first working version of my SH1106 app framework for Raspberry Pi on PyPI! The SH1106 is an affordable OLED screen, costing under $3, and it's perfect for projects of all sizes. This package enables the creation of apps for it with graphics support, state management, image conversion utilities, and custom fonts. Check it out here: SH1106 Framework on PyPI.

Target audience:
The package is mainly aimed at hobbyists who want to create small projects using the SH1106 OLED without having to manually write a lot of the graphics code typically needed on top of standard packages. I am also developing a hardware synthesizer keyboard from scratch that utilizes this framework extensively. So far, the framework handles the massive scaling required for this project excellently in terms of both code organization and performance.

Comparison:
This package offers several advantages over other SH1106 packages:

  1. Improved Rendering Speed: It significantly speeds up the rendering time for a given frame by writing all graphical operations to a pixel array, which is then loaded onto the screen using low-level functions from the excellent luma.oled package.

  2. Efficient Resource Management: All images and fonts are pre-loaded during the initialization of the framework, reducing the processing time during rendering.

  3. State Management: A simple yet effective state management system is implemented, making app creation straightforward from the start.

You can also check out the project on GitHub: SH1106 Framework on GitHub.

I'd love to answer any questions you have in the comments! I hope you find some cool uses for it. Cheers! :)