Interstate75 Colours are 'shifted' (newbie question)

Hi,
I have finally got around to setting up my new Interstate75 (not the W, that is in the post) and RGB LED Matrix Panel 64x64.

I have managed to get images working with a combination of micropython, jpegdec, picographics and interstate libraries.

I am trying to display some basic emojis.

They display but the colours are ‘shifted’. So yellow in the JPG appears as purple/pink on the matrix.

Looking at it it seems to be lighting a red and blue pixel to show yellow instead of red and green.

Have I done something wrong in the way that I have configured the display, please?

import hub75
from interstate75 import Interstate75, DISPLAY_INTERSTATE75_64X64

import jpegdec
import picographics

i75 = Interstate75(display=DISPLAY_INTERSTATE75_64X64)
graphics = i75.display

width = i75.width
height = i75.height

j = jpegdec.JPEG(graphics)

j.open_file(“angel.jpg”)

j.decode(0,0, jpegdec.JPEG_SCALE_FULL)

i75.update()

(I am still new to programming RP2040’s but am happy with programming normally)

Many thanks for any help on this…

What version of MicroPython are you using? I think there were some changes to jpegdec (and hopefully a fix for this issue?) in v1.19.11:

Hi Hel,
I am using the latest version of MicroPython, downloaded and flashed last night prior to the testing.
( Release Version 1.19.11 · pimoroni/pimoroni-pico · GitHub)

I have received my Interstate75W this morning, so I will test the same code on that and see if all is the same.

It is ‘good’ to know that it is related to the library and not me making a silly mistake :D I was worried that I had missed some settings somewhere as I am not sure how to set colourdepth etc from the examples I have been able to find/use and can’t work out what the default is…

So, I have tested this with the Interstate75W and get exactly the same result - please see attached.
This should be a cyan emoji with a yellow halo.


the other picture is the original image
(can’t upload 2 images as new user)

Might be worth checking that your jpg is saved without progressive encoding?

Hi, Hel,
it definitely doesn’t :( I have saved it in a range of optimisations and always without progressive encoding…
But thanks…

Hmm, I’ve just tried a few jpegs and the colours seem to be working as expected for me (excuse the missing LEDs!)

Here’s the image I used for the last one if you want to try it.

and the code:

import hub75
from interstate75 import Interstate75, DISPLAY_INTERSTATE75_128X64

import jpegdec
import picographics

i75 = Interstate75(display=DISPLAY_INTERSTATE75_128X64)
graphics = i75.display

width = i75.width
height = i75.height

j = jpegdec.JPEG(graphics)

j.open_file("Untitled.jpg")

j.decode(0,0, jpegdec.JPEG_SCALE_FULL)

i75.update()

If you run some of the examples, are the colors correct?
pimoroni-pico/micropython/examples/interstate75 at main · pimoroni/pimoroni-pico (github.com)

sorry for the delay in responding, life has been manic…
running the above code, other than changing to 64X64 still sees the colours ‘shifted’
I am using the jpeg linked above

Hi, sorry for the delay.
I have now run a modified version of the raw_set_pixel.py from the sample library.
If I set rgb to 255,0,0 then I get red pixels
0,255,0 gets blue…
0,0,255 gets green

so somehow the green and blue signals are ‘crossed’.
Is this a fault with the board or …?

Very many thanks,
Matt

I have run the same code from raw_set_pixel.py on both the Interstate75 and the Interstate75W and both produce exactly the same result.
This would ‘suggest’ that it is a miss wiring on the 64x64 panel rather than the controller?

Ok, so I have had a good look around the circuit board and found this…
It may be a coincidence, but not sure…
It looks as though there is no component at the R1 point on the board?

Hmm, very interesting! Did you buy your LED panel from us? I can’t find those resistors at all on mine…

Mine does have this pinout for the connector - if yours has the same you could check to see if your blue and green pins (B1 and B2, and G1 and G2) are in the same place?

Hi Hel,
yes the panel was bought from you - an RGB LED Matrix Panel 64x64 2.5mm pitch ordered 3rd Jan.
I have taken photos to show the 2 ‘plug’ connector areas. One has the resistors, the other doesn’t…
I have been connecting the interstate as shown in the bottom photo. Connecting to the other plug connector does nothing as that is the ‘outbound’, right?




Many thanks,
Matt

I’m betting your issues have something to do with that Panel being a HUB-75E Panel.

This is what was sent from my order.
What is the difference between a 75 & 75E, please?
Is this something that is resolvable or do I have a panel problem?
Many thanks.

I’ve just grabbed a new panel from the shop and I’m getting the same as you - the LEDs on this batch must have a different colour order (the missing resistor is the same on all panels though).

Not sure if it’s currently possible to specify a different LED colour order in our MicroPython - bear with me as I information gather!

Looks like it’s not currently (easily) possible to swap the colour order in our MicroPython, but we’ve created an issue here so it’s now on our software team’s radar. Interstate 75: HUB-75E panel has blue and green swapped · Issue #656 · pimoroni/pimoroni-pico · GitHub . We’ve also raised this issue with the factory we get the panels from. I’ll let you know if we get any updates!

If you want to return this panel, support should be able to help. All the panels we currently have in stock are from this batch though, so we’d only be able to refund it, not swap it.

1 Like

Oh - and I learned today that all 64 row panels are HUB-75E (even if they’re not marked as such) - the E just indicates they have five address row pins (A, B, C, D and E), whilst smaller sizes of LED panels only have four address row pins (A, B, C and D).

My Adafruit Matrix Portal has a jumper for Address E. My two panels are 64 wide by 32 high, and stacked virtically for a 64 x 64 matrix. I wanted a big display with wide spacing. Old batch it looks like which is good for me. Now that there is an Interstate75 W I plan on replacing the Matrix Portal with one. Adafruits displayio has so far been a big challenge.