CH552 Drivers: SSD1306 Display Driver - Part 1
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.