Technium Adeptus

Technium Adeptus

Share this post

Technium Adeptus
Technium Adeptus
CH552 Drivers: SSD1306 Display Driver - Part 1

CH552 Drivers: SSD1306 Display Driver - Part 1

Technium Adeptus's avatar
Technium Adeptus
Apr 11, 2025
∙ Paid
Share

Due to the extremely limited resources of the CH552, there are not a lot of displays that it can work with. It is plenty fast, but with only 1KB of external RAM and 256 bytes of internal RAM, there's just not enough space to hold a framebuffer for all but the smallest monochrome displays. On top of that, while there are some larger color displays that have their own framebuffer built into the hardware driver, the CH552 doesn't have enough program memory to hold color graphics of any significant size, so there are very few applications where one of these displays could be used.

Thankfully, Adafruit sells a 128x32 monochrome OLED display that is perfect for the CH552. The low resolution means it only has 4k pixels to store data for, and because it is monochrome, each pixel only needs a single bit. This means the display only requires a 512 byte framebuffer, which is only half of our external RAM. This does mean the display's framebuffer will leave us with only 512 bytes to use for other things, but that is enough to do a fair amount, if we are careful how we use it.

Keep reading with a 7-day free trial

Subscribe to Technium Adeptus to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Ben Williams
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share