How does one make an i2c ssd1306 a framebuffer?

  • Could you explain what you mean? Do you mean you want the device you have to be the main Pi screen? Lots of small (e.g. 128x64) screens incorporate the SSD1306 driver chip. Typically they would use the parallel or SPI interface for speed rather than the much slower I2C. – joan Dec 18 '15 at 8:54
  • @joan ye I want it to be the main screen. Mine does not have an option for parallel or SPI, only i2c – Alexander M Dec 18 '15 at 8:55
  • I've just looked through /boot/overlays/README and there only seems to be support for SPI based screens. Have a look at github.com/notro/fbtft to see if any similar I2C devices were supported. – joan Dec 18 '15 at 9:35
  • Well it might be possible to create a low-level bit-banging interface with a pair of PC(A/F)8574(A) ICs but unlike smaller resolution (up to 4x20 characters composed of say 6x8 blocks) LC "Character" displays this device (datasheet) needs an 8-bit Data bus which is why I think you will need two I2C I/O expander ICs and some new code - and I think it would be very slow - only for largely "static" displays. I do not know whether there is kernel support for this as a frame-buffer device... – SlySven Dec 20 '15 at 16:22

There is already built-in support for the SSD1306 OLED module in the Linux Kernel CONFIG_FB_SSD1307. For the Raspberry PI for example with the Yocto build setup you could use the meta-rpi-ssd1306 available here https://github.com/mickey-happygolucky/meta-rpi-ssd1306

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.