Close

Display Surgery

A project log for SomaFM Badge

An electronic badge created for the folks behind SomaFM.

tom-nardiTom Nardi 08/10/2024 at 00:190 Comments

Usually, it's not necessary to use the Chip Select (CS) pin on ST7789 displays to drive them, so the pin isn't broken out on the 1.3 inch model. Unfortunately, I soon found out that whatever software workarounds allow for this with other libraries is specifically not supported in CircuitPython. The only solution (at least currently) was to physically modify each display.

The process is fairly well documented elsewhere, so I won't go over it in great detail here. But basically the steps are:

  1. Remove the display ribbon cable
  2. Cut the trace connecting the CS pin to ground
  3. Re-install ribbon cable
  4. Solder jumper wire to CS pin

It's not a complex procedure, thankfully. But fiddling with soldered ribbon cables is never any fun, and the work was fine enough that I had to break out the microscope.

Here you can see what the cut trace should look like:

Once the ground connection has been cut and the pin is floating, the jumper connects it to the microcontroller:

Now after the jumper wire is connected, there's a few different ways you could go. One idea would be to simply run the wire back to a GPIO pin on the chip. But in this case, I ended up taking over the backlight pin (BLK) in the display module's header to keep things neat. This does obviously mean you lose the ability to control said backlight, but that wasn't something I planned on doing anyway.

The final result looks like this:

In the end, the process wasn't terrible. But it was an unexpected detour, and did add some additional problems. For instance, since I couldn't test the displays until after the modification was made, I ended up wasting time working on a couple duds that had dead pixels.

Discussions