# LCD integration

**URL:** <https://forums.openmv.io/t/lcd-integration/5667>\
**Category:** OpenMV Boards\
**Created:** [April 7, 2021, 2:54pm UTC](https://forums.openmv.io/t/lcd-integration/5667 "2021-04-07T14:54:59Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![lcd](https://avatars.discourse-cdn.com/v4/letter/l/a587f6/32.png) [@lcd](https://forums.openmv.io/u/lcd)\
**Post date:** [April 7, 2021, 2:54pm UTC](https://forums.openmv.io/t/lcd-integration/5667/1 "2021-04-07T14:54:59Z")

</div>

Hello. I’ve been trying to integrate a different LCD with the openMV H7 (I’m using a CFAG12864T3-NFH with a ST7656P driver) because the shield didn’t fit my application. I’ve been having a hard time booting it up, though, and I think it’s mostly due to the code (the pinouts seem to translate pretty well). I’ve changed the standard example LCD code to reflect the grayscale and B128X64 size, but beyond that I’m stuck. I figure there’s a problem with the incorporation of sensor.snapshot into this array size, but I can’t find how to change that. The LCD is linked [here.](https://www.crystalfontz.com/product/cfag12864t3nfh-sunlight-readable-low-power-lcd) Thanks!

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [April 7, 2021, 4:36pm UTC](https://forums.openmv.io/t/lcd-integration/5667/2 "2021-04-07T16:36:30Z")

</div>

Our driver output for the screen size should work fine… however, you’re going to likely have to add custom SPI writes to the display.

You can do this by creating a SPI bus object using PYB before doing lcd.init(). This bus object then will allow you to send custom SPI commands to setup the LCD controller before doing lcd.display().

Another forum users did this recently. It’s likely that you have to setup several registers before things work.

---

<div class="post-metadata">

**Author:** ![kwagyeman](https://yyz1.discourse-cdn.com/flex029/user_avatar/forums.openmv.io/kwagyeman/32/4_2.png) [@kwagyeman](https://forums.openmv.io/u/kwagyeman)\
**Post date:** [April 7, 2021, 4:36pm UTC](https://forums.openmv.io/t/lcd-integration/5667/3 "2021-04-07T16:36:53Z")

</div>

> [@Can no longer drive ST7789V SPI TFT w/ firmware 3.8.0 (works for \<= 3.6.7)](https://forums.openmv.io/t/can-no-longer-drive-st7789v-spi-tft-w-firmware-3-8-0-works-for-3-6-7/2068):
>
> I’ve been working with a custom TFT driver for the ST7789V IPS TFT (320x240 res.) and it’s been smooth-sailing until I upgraded to firmware 3.8.0. At the moment the TFT should initialize, the IDE’s framebuffer view freezes and no image is displayed on the TFT (not even a flicker, actually). I am well aware that there have been significant changes to how TFT’s are handled post 3.6.7, hence my delay in testing the new firmware. However, I am stumped on how that would affect a display directly driv…
